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

69 lines
2.4 KiB
Markdown
Raw Permalink 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>`.