Files
tutoriales/webdav_docker/webdav_docker.md
2024-09-13 10:50:17 +02:00

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>.