A self-hosted Real-Debrid webdav server written from scratch. Together with rclone it can mount your Real-Debrid torrent library into your file system like Dropbox. It's meant to be used with Infuse (webdav server) and Plex (mount zurg webdav with rclone).
This repository holds the public release and the quick-start bundle — config.yml, docker-compose.yml, rclone.conf and the Plex update scripts. The binaries live under Releases.
- A Real-Debrid account and API token
rcloneandffprobeare automatically downloaded on first run if not already installed
The current release, and what this repository documents.
Download the binary or use docker
docker pull ghcr.io/debridmediamanager/zurg-testing:latest
# or pin the release
docker pull ghcr.io/debridmediamanager/zurg-testing:v1.0.0The image name is still
zurg-testing, from before this repository was renamed tozurg-public. It is the current and correct image for stable releases, and:lateston it always points at the newest one.
Date-stamped nightlies — YYYY.MM.DD.HHMM-nightly — carrying work that has not landed in a stable release yet, including backends beyond Real-Debrid (TorBox, AllDebrid and Usenet).
Nightlies need an active sponsorship on GitHub Sponsors or Patreon, linked to the GitHub account that should receive access:
- Sponsor on GitHub Sponsors or Patreon.
- Go to gatekeeper.debridmediamanager.com and press Connect GitHub Account — that account is the one granted access.
- Sponsoring through Patreon? Press Connect Patreon Account too, so the pledge can be matched to you. GitHub sponsors need no second link.
- Press Complete Registration.
Sponsoring on Patreon and stopping there grants nothing, because a pledge on its own cannot say which GitHub account is yours. Until access is granted the private repo answers 404 rather than a permission error, which is what a private repo looks like to an account that cannot see it — not a broken link. Access is removed again if the sponsorship lapses.
Download the binary or use docker
Instructions on HOW TO PULL THE PRIVATE DOCKER IMAGE
docker pull ghcr.io/debridmediamanager/zurg:latest- Clone the repo
git clone https://github.com/debridmediamanager/zurg-public.git - Add your token in
config.yml sudo mkdir -p /mnt/zurg- Run
docker compose up -d time ls -1R /mnt/zurgYou're done! If you do edits on your config.yml just dodocker compose restart zurg.
A web server is now running at localhost:9999, with the dashboard at localhost:9999/config/.
Download the binary, run it, and zurg handles the rest — it auto-creates a default config and downloads ffprobe and rclone for you.
./zurg # creates config.yml, downloads bin/ffprobe + bin/rclone
# edit config.yml → add your Real-Debrid token
./zurg # starts the server on http://localhost:9999The TOKEN (or RD_TOKEN) environment variable auto-creates a config on first run, so Docker users can skip the config file entirely. PORT overrides the configured port.
Note: when using zurg in a server outside of your home network, ensure that "Use my Remote Traffic automatically when needed" is unchecked on your Account page
Usage:
zurg [flags]
zurg [command]
Available Commands:
download-requirements Download ffprobe and rclone into a directory and update config paths
clear-downloads Clear all downloads (unrestricted links) in your account
clear-torrents Clear all torrents in your account
completion Generate the autocompletion script for the specified shell
help Help about any command
network-test Run a network test
version Prints zurg's current version
Flags:
-c, --config string config file path (default "./config.yml")
-h, --help help for zurg
Use "zurg [command] --help" for more information about a command.
- Better performance than anything out there; changes in your library appear instantly (assuming Plex picks it up fast enough)
- You can configure a flexible directory structure in
config.yml, filtering torrents by name, file contents, size, age and more. Need help? - If you've ever experienced Plex scanner being stuck on a file and thereby freezing Plex completely, it should not happen anymore because zurg does a comprehensive check if a torrent is dead or not. You can run
ps aux --sort=-time | grep "Plex Media Scanner"to check for stuck scanner processes. - zurg guarantees that your library is always available because of its repair abilities! Dead links are detected on-demand when content is accessed and automatically repaired — no background polling of the RD API required.
Windows needs WinFsp and one extra rclone flag. See WINDOWS.md.