Zurg Stack - Real-Debrid Media Bridge¶
Exposes Real-Debrid library as a local mount point for Plex/Jellyfin.
Overview¶
- Mount Point:
/srv/dockerdata/zurg-stack/mnt/ - Zurg Port: 9999
- Purpose: Bridge Real-Debrid cloud torrents to local filesystem
Architecture¶
Real-Debrid API → Zurg (WebDAV server) → rclone (FUSE mount) → Local filesystem
↓ ↓
Port 9999 /mnt/torrents/
Directory Structure¶
/srv/dockerdata/zurg-stack/
├── docker-compose.yml
├── .env # RD_API_TOKEN (backup only)
├── mnt/ # Mounted media appears here
│ ├── torrents/
│ ├── __all__/
│ └── __unplayable__/
├── zurg/
│ └── config.yml # Zurg configuration
└── rclone/
└── rclone.conf # rclone WebDAV config
Configuration Files¶
zurg/config.yml¶
zurg: v1
token: YOUR_REAL_DEBRID_API_TOKEN
host: "[::]"
port: 9999
directories:
torrents:
group: media
filters:
- regex: /.*/
rclone/rclone.conf¶
Services¶
Start Stack¶
Check Status¶
View Logs¶
Restart¶
Stop Stack¶
Adding Content¶
- Go to debridmediamanager.com
- Log in with Real-Debrid
- Search for a movie/show
- Click a result with "Cached" badge (green)
- Click "Add to Library"
- Content appears in
/srv/dockerdata/zurg-stack/mnt/torrents/within 15-30 seconds
Troubleshooting¶
Empty mount folder¶
- Check if Real-Debrid library has content
- Verify token in
zurg/config.yml - Check zurg logs:
docker logs zurg
"Invalid Token" error¶
- Update token in
zurg/config.yml - Restart:
docker compose restart zurg
"Connection refused" from rclone¶
- Zurg may still be starting
- Wait 10 seconds and restart:
docker compose restart rclone
Mount shows I/O error¶
- Stale FUSE mount from crash
- Unmount:
fusermount -u /srv/dockerdata/zurg-stack/mnt - Restart:
docker compose restart rclone
Verify Zurg is working¶
Integration with Plex/Jellyfin¶
Point your media server to:
For Jellyfin in Docker, mount as:
API Token¶
Get your Real-Debrid API token from: https://real-debrid.com/apitoken