> For the complete documentation index, see [llms.txt](https://academy.shade.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.shade.inc/shade-academy/shade-academy-es/cache-compartida/using-shared-cache.md).

# Usando caché compartida

Shared Cache es un servidor local que permite a los equipos compartir de forma segura archivos a los que han accedido otros miembros del equipo dentro de la misma LAN.

Como ejemplo:

1. **Miembro del equipo 1** accede a `large_video.mp4` mientras está conectado a la caché compartida
2. ShadeFS comienza a servir ese archivo a **Miembro del equipo 1** desde la nube
3. En segundo plano, la caché compartida también comienza a almacenar en caché `large_video.mp4`
4. La caché compartida termina por completo de almacenar en caché `large_video.mp4`
5. **Miembro del equipo 2** ahora accede a `large_video.mp4` en ShadeFS
6. La caché compartida ejecuta comprobaciones de permisos para validar **Miembro del equipo 2** tiene acceso a `large_video.mp4`
7. `large_video.mp4` se sirve de inmediato a la velocidad máxima de la LAN desde la caché compartida

En esta configuración, el segundo acceso se sirve a la velocidad máxima, lo que hace que la reproducción sea en gran medida instantánea y evita usar ancho de banda contra la nube. Las instancias grandes de caché compartida pueden evitar casi por completo los viajes de ida y vuelta a la nube, excepto para el primer acceso.

## Descarga y configuración

Shared Cache es un ejecutable de terminal sin interfaz de usuario. Puedes obtener una versión para descargar preguntándonos. Los valores predeterminados suelen ser correctos para la mayoría de las configuraciones, lo que significa que para la mayoría de las personas normalmente basta con hacer doble clic para iniciarlo.

## Compatibilidad con S3

Shared Cache admite el uso de un backend local (disco) y de un destino S3 local para almacenar datos en caché. Esto se puede habilitar pasando `--storage-backend=s3` con el endpoint, bucket, región, acceso y secreto.

## Opciones de configuración

```bash
Uso: shared-cache [opciones]

Opciones:
  --port <number>                    Puerto del servidor (predeterminado: 8003)
  --fs-ws-url <url>                  URL WebSocket ascendente de ShadeFS (predeterminada: wss://fs.shade.inc)
  --fs-api-url <url>                 URL de la API ascendente de ShadeFS (predeterminada: https://fs.shade.inc)
  --local-cache-location <path>            Directorio de almacenamiento de la caché (predeterminado: ./cache)
  --database-location <path>         Ruta del archivo de base de datos SQLite (predeterminada: ./shared_cache.db)
  --max-cache-size <bytes>           Tamaño máximo de la caché en bytes (predeterminado: 500 GB)
  --cache-check-interval <ms>        Intervalo de limpieza de la caché en milisegundos (predeterminado: 300000)
  --storage-backend <type>           Backend de almacenamiento: filesystem o s3 (predeterminado: filesystem)
  --discovery-server-name <name>     Nombre del servicio mDNS (predeterminado: Default Name)

  Opciones de almacenamiento S3 (cuando --storage-backend=s3):
  --s3-endpoint <url>                URL del endpoint S3
  --s3-bucket <name>                 Nombre del bucket S3
  --s3-region <region>               Región de S3
  --s3-access-key-id <key>           ID de clave de acceso S3
  --s3-secret-access-key <secret>    Clave secreta de acceso S3
  --s3-path-prefix <prefix>          Prefijo de clave S3 (opcional)

  Opciones avanzadas:
  --download-worker-count <number>   Número de trabajadores de descarga (predeterminado: 5)
  --download-concurrent-chunks <n>   Fragmentos concurrentes por trabajador (predeterminado: 4)
  --download-chunk-size <bytes>      Tamaño del fragmento de descarga (predeterminado: 128 MB)
  --upload-concurrent-chunks <n>     Fragmentos de subida concurrentes (predeterminado: 4)
  --upload-chunk-size <bytes>        Tamaño del fragmento de subida (predeterminado: 64 MB)
  --version, -v                      Mostrar información de la versión
  --help, -h                         Mostrar este mensaje de ayuda

Variables de entorno:
  Todas las opciones también se pueden configurar mediante variables de entorno usando SCREAMING_SNAKE_CASE.
  Ejemplo: PORT, FS_WS_URL, CACHE_LOCATION, MAX_CACHE_SIZE_BYTES, etc.

Ejemplos:
  ./shared-cache --port 8080 --local-cache-location /var/cache/shade
  ./shared-cache --storage-backend s3 --s3-bucket my-bucket --s3-region us-east-1
  PORT=8080 LOCAL_CACHE_LOCATION=/var/cache/shade ./shared-cache
```

## Unirse a la caché compartida

Como los permisos son gestionados por la caché compartida, unirse es increíblemente fácil y no requiere contraseña. La caché compartida se anuncia usando bonjour. En la mayoría de los casos, los clientes en la misma red la detectan y aparecerá un modal preguntando si desean unirse.

Si no aparece ningún modal, se puede unir a la caché directamente yendo a Configuración → Caché compartida → Conectar manualmente y escribiendo la dirección. Un ejemplo de entrada podría verse así `http://192.168.1.45:8003`

## ¿La caché compartida no funciona?

Si Shared Cache no funciona o no ves otros dispositivos en tu red:

1. Abre Ajustes del sistema → Privacidad y seguridad → Red local.
2. Asegúrate de que Shade esté habilitado.
3. Si estaba deshabilitado, actívalo y reinicia Shade antes de volver a intentarlo.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://academy.shade.inc/shade-academy/shade-academy-es/cache-compartida/using-shared-cache.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
