Skip to content

Frequently Asked Questions

Decypharr is a media gateway that provides a unified interface for accessing Debrid providers (Real Debrid, All Debrid, etc.) and Usenet via Sonarr, Radarr, and other *Arr applications. It acts as a QBitTorrent/Sabnzbd-compatible download client.

Yes, Decypharr itself is free and open source. However, you need subscriptions to:

  • Debrid providers (Real Debrid, All Debrid, etc.)
  • Usenet providers (if using Usenet features)

How is this different from just using Debrid directly?

Section titled “How is this different from just using Debrid directly?”

Decypharr adds:

  • Arr integration (Sonarr/Radarr compatibility)
  • File mounting (DFS, Rclone, WebDAV)
  • Automated repair for broken links
  • Usenet + Debrid hybrid support
  • Centralized management
  • Docker: /config/config.json (mapped volume)
  • Binary: You choose the location on first run ./decypharr --config /path/to/

Can I use environment variables instead of config.json?

Section titled “Can I use environment variables instead of config.json?”

Yes! All config options support environment variables using double underscore notation:

Terminal window
PORT=8282
DEBRIDS__0__PROVIDER=realdebrid
DEBRIDS__0__API_KEY=your_key

See Configuration Reference for all options.

After setup, go to SettingsAuth in the web UI. Your API token is displayed once after initial setup - save it immediately.

To regenerate:

Terminal window
curl -X POST -H "Authorization: Bearer OLD_TOKEN" \
http://localhost:8282/api/refresh-token

Yes! Add multiple providers in config:

{
"debrids": [
{"provider": "realdebrid", "api_key": "..."},
{"provider": "alldebrid", "api_key": "..."}
]
}

Decypharr will automatically distribute torrents across providers based on available slots.

Configure per-provider rate limits:

{
"debrids": [
{
"provider": "realdebrid",
"rate_limit": "200/minute",
"repair_rate_limit": "60/minute"
}
]
}

Or add multiple API keys for rotation:

{
"download_api_keys": ["KEY1", "KEY2", "KEY3"]
}

Configure minimum_free_slot to switch to backup provider:

{
"debrids": [
{
"provider": "realdebrid",
"minimum_free_slot": 5
},
{
"provider": "alldebrid",
"minimum_free_slot": 0
}
]
}

If RD has <5 free slots, Decypharr uses All Debrid.

Use CaseRecommended
Streaming-focusedDFS
Need write cachingRclone
Already have Rclone setupExternal Rclone
API/WebDAV onlyNone

DFS is recommended for most users. On Windows, DFS mounting requires WinFsp to be installed.

How do I fix “Permission Denied” on mount?

Section titled “How do I fix “Permission Denied” on mount?”

Set uid/gid to match your media server user:

Terminal window
id plex
# uid=1001(plex) gid=1001(plex)
{
"mount": {
"dfs": {
"uid": 1001,
"gid": 1001,
"allow_other": true
}
}
}

Yes, use WebDAV:

http://decypharr:8282/webdav/

Mount as network drive in Windows/macOS/Linux. See WebDAV Guide.

No! Decypharr connects directly to NNTP servers. Just add your Usenet provider(s) in config.

Increase connection limits:

{
"usenet": {
"max_connections": 20,
"max_concurrent_nzb": 3
}
}

And per-provider:

{
"usenet": {
"providers": [
{
"max_connections": 30
}
]
}
}

Ensure Arr and Decypharr see files at the same path.

Wrong (Docker):

decypharr:
volumes:
- /mnt/storage:/data
sonarr:
volumes:
- /mnt/storage:/media # Different path!

Correct:

decypharr:
volumes:
- /mnt/storage:/mnt/storage
sonarr:
volumes:
- /mnt/storage:/mnt/storage # Same path!
  1. Check download action is set correctly (symlink for mounts)
  2. Verify mount path is accessible
  3. Check Arr logs for specific error

Can I use both Debrid and Usenet in same Arr?

Section titled “Can I use both Debrid and Usenet in same Arr?”

Yes! Add both download clients:

  1. Decypharr (QBitTorrent) for torrents
  2. Decypharr (Sabnzbd) for NZBs

Set different priorities in Arr.

Use auto_process: true if:

  • You have stable providers
  • Want fully automated operation
  • Not concerned about resource usage

Use auto_process: false if:

  • Testing repair system
  • Want manual control
  • Concerned about API rate limits

What’s the difference between repair strategies?

Section titled “What’s the difference between repair strategies?”
  • per_file: Check each file independently (faster for large torrents)
  • per_torrent: Verify all files in torrent (ensures complete integrity)

Configure disk_cache_size:

{
"mount": {
"dfs": {
"disk_cache_size": "50GB"
}
}
}

Actual usage depends on your viewing patterns.

  1. Increase chunk size:
    {"dfs": {"chunk_size": "20MB"}}
  2. Increase read-ahead (Usenet):
    {"usenet": {"read_ahead": "32MB"}}
  3. Check Debrid provider performance
  4. Verify network bandwidth
  1. Verify Decypharr is running:
    Terminal window
    docker logs decypharr
    curl http://localhost:8282/version
  2. Check port binding
  3. Check firewall rules

Delete config to restart setup:

Terminal window
rm /config/config.json # Docker
# or
rm /path/to/config.json # Binary
  1. Reduce concurrent workers:
    {
    "debrids": [{"workers": 25}],
    "repair": {"workers": 1}
    }
  2. Check for repair loops (disable auto-repair temporarily)
  3. Review logs for errors

Docker:

Terminal window
docker logs decypharr
docker logs -f decypharr # Follow

Binary: stdout (redirect to file if needed)

Set log level:

{"log_level": "debug"}

Decypharr can coexist:

  1. Keep existing setup running
  2. Add Decypharr as additional download client in Arrs
  3. Set higher priority for Decypharr
  4. Test with new downloads
  5. Once stable, remove old client
  1. Stop Decypharr
  2. Change config:
    {"mount": {"type": "dfs"}}
  3. Restart
  4. Verify mount at same path
  5. Test playback

No need to re-download - Decypharr reuses existing Debrid torrents.