2.4 KiB
Configurar WebDav en Docker para Plex/Jellyfin
Pre requisitos
- Tener instalado Docker
- [ ] Tener los datos para conectar al WebDav
- Tener instalado el plugin de rclone para Docker - Guía de instalación:
sudo apt-get -y install fuse
sudo mkdir -p /var/lib/docker-plugins/rclone/config
sudo mkdir -p /var/lib/docker-plugins/rclone/cache
docker plugin install rclone/docker-volume-rclone:amd64 args="-v" --alias rclone --grant-all-permissions
docker plugin list
Configurar volumen para WebDav
Crear rclone.conf
Antes de nada, tenemos que crear el archivo de configuración donde indicaremos los parámetros del WebDav, como son la url, el usuario y la contraseña, para ello creamos un archivo llamado rclone.conf en /var/lib/docker-plugins/rclone/config:
[webdav]
type = webdav
url = https://<dominio>:<puerto>
vendor = other
user = <usuario>
pass = <contraseña-cifrada>
Para obtener la contraseña cifrada, ejecutaremos lo siguiente:
docker run --rm rclone/rclone obscure <TU_CONTRASEÑA>
Esto ejecutará un contenedor temporal que luego será borrado, así no tenemos que instalar rclone en el sistema.
Configurar docker-compose.yml
En el docker-compose.yml del contenedor en el que queramos montar una carpeta por WebDav tenemos que añadir lo siguiente, solo nos fijaremos en la parte de volumes (sirve igual para Jellyfin):
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- VERSION=docker
volumes:
- ./config:/config
- webdav-directory:/media:ro <------------------------
restart: unless-stopped
volumes:
webdav-directory:
driver: rclone
driver_opts:
remote: 'webdav:/'
allow_other: 'true'
Arrancamos el contenedor con docker compose up -d y esto deberá crear tanto el volumen como el contenedor, si queremos comprobar el volumen podemos usar docker volume ls, ahí nos aparecerá uno llamado plex_webdav-directory (en este caso, ya que el nombre del servicio es plex y el del volumen webdav-directory).
En el caso que algo no funcione como deba y queramos volver a empezar de nuevo no es suficiente con hacer un docker compose down, ya que esto no borrará el volumen. Si se quiere borrar el volumen, después de hacer el down, haremos docker volume rm <nombre-volumen>.