All apps · 0 apps
zurg
Docker app from grtgbln's Repository
Overview
Readme
View on GitHubzurg
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.
Requirements
- A Real-Debrid account and API token
rcloneandffprobeare automatically downloaded on first run if not already installed
Download
Stable version: v1.0.0 (Public)
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.0
The 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.
Nightly (Sponsors only)
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
How to run zurg in 5 steps for Plex with Docker
- 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/.
Binary
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:9999
The 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
Command-line utility
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.
Why zurg? Why not X?
- 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
Windows needs WinFsp and one extra rclone flag. See WINDOWS.md.
Please read our wiki for more information!
zurg's version history
Install Zurg on Unraid in a few clicks.
Find Zurg in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Requirements
Expects a `config.yml` file to be mounted at `/app/config.yml` before starting the container. See configuration details: https://github.com/debridmediamanager/zurg-public/blob/main/config.yml
Expects a `plex_update.sh` script to be mounted at `/app/plex_update.sh` if Plex integration is desired. See script details: https://github.com/debridmediamanager/zurg-public/blob/main/scripts/plex_update.sh
Related apps
Explore more like this
Explore allDetails
ghcr.io/debridmediamanager/zurg-public:latestRuntime arguments
- Network
bridge- Privileged
- false
Template configuration
Container Port: 9999
- Target
- 9999
- Default
- 9999
- Value
- 9999
Path to the config file
- Target
- /app/config.yml
- Default
- /mnt/user/appdata/zurg/config.yml
- Value
- /mnt/user/appdata/zurg/config.yml
Path to Plex update script: https://github.com/debridmediamanager/zurg-public/blob/main/scripts/plex_update.sh
- Target
- /app/plex_update.sh
Path to the app data folder
- Target
- /app/data
- Default
- /mnt/user/appdata/zurg/data
- Value
- /mnt/user/appdata/zurg/data