# 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](https://rclone.org/docker/): ``` 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://: vendor = other user = pass = ``` Para obtener la contraseña cifrada, ejecutaremos lo siguiente: `docker run --rm rclone/rclone obscure ` 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 `.