Linux

Where Does Zurg Store Its Config?

Zurg reads config.yml from its working directory for the Real-Debrid token and library layout. The torrent cache is separate.

Last updated

Zurg looks for config.yml in its working directory on first start and even generates a default one if none exists. That file holds the Real-Debrid token plus directory filters, polling, and Plex update hooks. The binary also drops helper tools into bin/ beside it. Docker users mount or edit the same file, then restart the container to pick up changes.

The cache is the part people lose. Torrent metadata and repair state live in a zurgdata volume, not in config.yml. Back up both: the config file for settings, the volume for the library index. rclone.conf sits alongside config.yml when you mount the WebDAV share for Plex or Jellyfin.

Where Zurg stores this, by platform

Linux
./config.yml (Zurg working directory)

Real-Debrid token, directory structure, polling, and Plex hooks. The binary auto-creates a default here; TOKEN env var can substitute for the token line. Restart the container after edits.

Linux
zurgdata (Docker volume)

Torrent cache and repair state. Never delete this volume during updates or Zurg rebuilds the whole library index from Real-Debrid. Back it up with the config file for a full restore.

Frequently asked questions

how do i keep zurg data when updating

Never run docker compose down -v on the zurg stack. That destroys the zurgdata volume with the torrent cache and repair state. Use docker compose restart zurg after config edits instead.

can i run zurg without a config file

Yes. Set the TOKEN (or RD_TOKEN) environment variable and Zurg generates a config on first run. File based config.yml still wins for directory filters and polling, so most setups end up with the file anyway.

Notice an outdated path? Let us know.