Zurg can be deployed using Docker Compose. The setup typically involves two services: zurg (the core application) and rclone (used to mount the Zurg filesystem).
Key configuration requirements:
- Zurg Service: Requires a
config.yml file mounted to /app/config.yml and a data volume for /app/data. - Rclone Service: Used to mount the Zurg filesystem to a local path. It requires
SYS_ADMIN capabilities, apparmor:unconfined security options, and access to /dev/fuse to perform the mount.
services:
zurg:
image: ghcr.io/debridmediamanager/zurg-testing:latest
container_name: zurg
restart: unless-stopped
ports:
- 9999:9999
volumes:
- ./scripts/plex_update.sh:/app/plex_update.sh
- ./config.yml:/app/config.yml
- zurgdata:/app/data
rclone:
image: rclone/rclone:latest
container_name: rclone
restart: unless-stopped
environment:
TZ: Europe/Berlin
PUID: 1000
PGID: 1000
volumes:
- /mnt/zurg:/data:rshared
- ./rclone.conf:/config/rclone/rclone.conf
cap_add:
- SYS_ADMIN
security_opt:
- apparmor:unconfined
devices:
- /dev/fuse:/dev/fuse:rwm
depends_on:
- zurg
command: "mount zurg: /data --allow-other --allow-non-empty --dir-cache-time 10s --vfs-cache-mode full"
volumes:
zurgdata: