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

69 lines
2.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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://<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>`.