-
-
Notifications
You must be signed in to change notification settings - Fork 78
Config
Ben Adrian Sarmiento edited this page Mar 19, 2025
·
10 revisions
https://github.com/debridmediamanager/zurg
This document details all available configuration options for zurg. Configure these options in your config.yaml file.
# Zurg configuration version (default: "v1")
zurg: v1
# Your Real-Debrid API token (required)
token: YOUR_RD_API_TOKEN
# Additional RD API tokens for when daily bandwidth limit is reached
download_tokens:
- ANOTHER_RD_API_TOKEN
- ANOTHER_RD_API_TOKEN_2# Host address to bind to (default: "[::]")
host: "[::]"
# Port to listen on (default: "9999")
port: 9999
# Override scheme and host for all URLs (e.g., when behind a reverse proxy)
base_url: "http://[username:password@]192.168.0.123:9999"
# HTTP proxy configuration (optional)
proxy: "http://[username:password@]host:port"
# Also supports HTTPS and SOCKS5:
# proxy: "https://[username:password@]host:port"
# proxy: "socks5://[username:password@]host:port"
# Force IPv6 usage for all network tests
force_ipv6: false
# Limit the number of hosts to N fastest hosts
number_of_hosts: 3
# IP to use for unrestricting links
unrestrict_ip: ""
# User agent for requests
user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"
# Disable using CDN hosts for downloads
do_not_use_cdn_hosts: false
# Basic authentication credentials (optional)
username: ""
password: ""# Rate limit for the API except /torrents call (default: 250)
api_rate_limit_per_minute: 250
# Rate limit for the /torrents call for fetching torrents (default: 75)
torrents_rate_limit_per_minute: 75
# API timeout settings
api_timeout_secs: 60 # timeout for all API calls (default: 60)
download_timeout_secs: 15 # timeout for all download calls (default: 15)
# Number of retries before marking a request as failed (default: 2)
retries_until_failed: 2
# Retry 503 errors specifically
retry_503_errors: false
# How many torrents are fetched per page of /torrents call (default: 250)
fetch_torrents_page_size: 250# Enable automatic torrent repair
enable_repair: true
# Action for RAR files: extract, delete, or none (default: "none")
rar_action: none
# Additional file extensions to consider as playable
addl_playable_extensions:
- m3u
- jpg
# If a torrent contains any file with these extensions, delete the torrent
delete_torrent_if_extensions_found:
- zipx
- rar
# Even when files are not selected in the torrent, if the file is playable (video or addl_playable_extensions), it will be selected
force_select_playable_files: false
# Retain the torrent name extension which is used for directory names (useful for single file torrents)
retain_folder_name_extension: false
# Retain the name value of a torrent from real-debrid (if false, will use original_name instead)
retain_rd_torrent_name: false
# Delete torrents that have encountered an error
delete_error_torrents: false
# Hide torrents that are broken (unplayable)
hide_broken_torrents: false
# Will ignore rename values in the torrent
ignore_renames: false# How often to check for changes in the library (default: 15 seconds)
check_for_changes_every_secs: 15
# How often to check for broken torrents and repair them (default: 60 minutes)
repair_every_mins: 60
# How often to check for new downloads (unrestricted links, file locker links) (default: 720 minutes)
downloads_every_mins: 720
# How often to dump your library torrents to the dump folder for backup (default: 1440 minutes)
dump_torrents_every_mins: 1440
# Command to run when library updates (optional)
# While this can be used for custom scripts, it's recommended to use the media server configs below for better integration
on_library_update: |
for arg in "$@"
do
echo "detected update on: $arg"
done# Will run ffprobe on newly added torrents to your library
auto_analyze_new_torrents: true
# Cache the results of network tests so that it doesn't have to be run every startup
cache_network_test_results: true# Plex server URL (e.g., http://localhost:32400)
plex_server_url: ""
# Plex authentication token
plex_token: ""# Jellyfin server URL (e.g., http://localhost:8096)
jellyfin_server_url: ""
# Jellyfin authentication token
jellyfin_token: ""# Emby server URL (e.g., http://localhost:8096)
emby_server_url: ""
# Emby authentication token
emby_token: ""# Prefix to add to paths when sending to media servers (e.g., /media/movies)
mount_path: ""# Will log download request stats
log_requests: false
# If true, will disable the stream proxy and pass the RD download link directly
disable_stream_proxy: false
# Will serve .strm files instead of direct video files, not compatible with disable_stream_proxy
# IMPORTANT: When this is set to true, video files will not be listed in place of .strm files.
# If using rclone, this may cause Plex to think files are deleted and clear your library.
serve_strm_files: false
# Will create strm files in the "strm" directory where zurg is running
# This is different from serve_strm_files which creates strm files in HTTP/DAV/Infuse endpoints
save_strm_files: false
# Limit the number of downloads to fetch from Real-Debrid (0 means no limit)
get_downloads_limit: 0
# Load torrents from the dump folder on startup
load_dumped_torrents: false
# Load torrents from the trash folder on startup
load_trashed_torrents: falseHere's a basic example configuration with commonly used options:
zurg: v1
token: YOUR_RD_API_TOKEN
enable_repair: true
rar_action: extract
auto_analyze_new_torrents: true
cache_network_test_results: true
addl_playable_extensions:
- m3u
- jpg
plex_server_url: "http://localhost:32400"
plex_token: "your-plex-token"
jellyfin_server_url: "http://localhost:8096"
jellyfin_token: "your-jellyfin-token"
emby_server_url: "http://localhost:8096"
emby_token: "your-emby-token"
mount_path: "/media/movies"- All time-based configurations are in their respective units (seconds or minutes) as specified in the option names
- Rate limits help prevent API throttling from Real-Debrid
- The
enable_repairoption must be true forrar_action: extractto work - Be cautious with
delete_error_torrentsas it permanently removes problematic torrents -
cache_network_test_resultshelps reduce startup time by saving previous network test results - When
retain_rd_torrent_nameis false, for example with a season pack, if only 1 file is selected, the torrent name will be the name of the file not the season pack
(c) 2023 Debrid Media Manager