¿Por qué necesitamos Caddy?
En este tutorial vamos a instalar Caddy mediante Docker Compose en nuestro NAS.
Si queremos acceder a nuestro servidor Jellyfin desde Internet utilizando nuestro propio dominio y una conexión HTTPS, necesitamos un sistema que reciba las conexiones externas y las dirija hacia Jellyfin. En nuestro caso, utilizaremos Caddy como reverse proxy (proxy inverso). Caddy recibirá la conexión y la reenviará al puerto donde está funcionando Jellyfin.

Todo el proceso de configuración —dominio, DNS, DDNS, apertura y redirección de puertos, Caddy y Jellyfin— lo explico paso a paso en el vídeo de YouTube que acompaña a este tutorial:
[ENLACE AL VÍDEO DE YOUTUBE] aun no esta publicado, ya llegara
En este artículo nos centraremos únicamente en la instalación y configuración de Caddy en el NAS, para que puedas seguir los pasos y reproducir la configuración en tu propio servidor.
Nota: los dominios, direcciones IP y rutas utilizados en los ejemplos corresponden a mi propia configuración. Si estás siguiendo este tutorial en tu NAS, deberás sustituirlos por los valores correspondientes a tu instalación.
Todos los pasos se realizan desde **SSH**.
1. Crear la carpeta de Caddy
sudo mkdir -p /volume2/docker/caddy
Entramos en ella:
cd /volume2/docker/caddy
## 2. Crear el archivo docker-compose.yaml
services:
caddy:
image: caddy:2
container_name: caddy-jellyfin
restart: unless-stopped
ports:
- "8443:8443"
volumes:
- /volume2/docker/caddy/Caddyfile:/etc/caddy/Caddyfile
- /volume2/docker/caddy/data:/data
- /volume2/docker/caddy/config:/config
Para guardar en Nano:
**Ctrl + O**
**Enter**
Para salir:
**Ctrl + X**
—
## 3. Crear el Caddyfile
sudo nano Caddyfile
Pegamos, sustitullendo la ip de vuestro servidor:
jellyfin.appbera.com:8443 {
reverse_proxy 192.168.x.xxx:8096
}
Guardamos en nano:
**Ctrl + O**
**Enter**
Salimos:
**Ctrl + X**
**Importante:** sustituye `jellyfin.tudominio.com` por tu propio dominio y `192.168.x.xxx:8096` por la IP y puerto donde tengas instalado Jellyfin.
—
## 4. Crear las carpetas de datos
sudo mkdir -p /volume2/docker/caddy/data /volume2/docker/caddy/config
## 5. Validar la configuración de Caddy
Antes de ponerlo en marcha, podemos comprobar que el Caddyfile es correcto:
sudo docker run --rm -v /volume2/docker/caddy/Caddyfile:/etc/caddy/Caddyfile caddy:2 caddy validate --config /etc/caddy/Caddyfile
Si todo está correcto, veremos:
Valid configuration
—
## 6. Poner Caddy en marcha
vamos a /volume2/docker/caddy
cd /volume2/docker/caddy
ejecutamos:
sudo docker compose up -d
## 7. Comprobar que el contenedor está funcionando
sudo docker ps
Deberíamos ver el contenedor:
caddy-jellyfin
—
## 8. Consultar los logs
Si queremos comprobar qué está haciendo Caddy:
sudo docker logs caddy-jellyfin
Y con esto ya tendremos **Caddy instalado y funcionando mediante Docker Compose**.