Skip to content

Decypharr (Core Service)#

Decypharr is a self-hosted, Go-based torrent manager and content orchestrator that integrates multiple Debrid services and acts as a mock Qbittorrent client for Arr applications like Sonarr and Radarr. It is a core component in DUMB for automating torrent-based downloads with native Debrid support and seamless library linking.


🔗 Service Relationships#

Classification Role
Core Service Debrid Torrent Orchestrator
Depends On rclone
Optional None
Exposes UI Yes (Web UI)

📦 Configuration in dumb_config.json#

"decypharr": {
    "enabled": false,
    "process_name": "Decypharr",
    "repo_owner": "sirrobot01",
    "repo_name": "decypharr",
    "release_version_enabled": false,
    "release_version": "v1.0.0",
    "branch_enabled": false,
    "branch": "main",
    "suppress_logging": false,
    "log_level": "INFO",
    "port": 8282,
    "auto_update": false,
    "auto_update_interval": 24,
    "clear_on_update": false,
    "exclude_dirs": [],
    "command": [
        "/decypharr/decypharr",
        "--config",
        "/decypharr"
    ],
    "config_dir": "/decypharr",
    "config_file": "/decypharr/config.json",
    "log_file": "/decypharr/logs/decypharr.log",
    "env": {},
    "debrid_service": "",
    "api_key": ""
},

🔍 Key Configuration Fields#

  • enabled: Toggle to run CLI Debrid via DUMB.
  • process_name: Used for display and logs.
  • repo_owner, repo_name: GitHub repo to use for updates.
  • release_version_enabled, branch_enabled: Target a specific tag or branch.
  • log_level, suppress_logging: Logging controls.
  • port: Flask web interface port.
  • env: Environment variable configuration used by CLI Debrid.
  • clear_on_update, exclude_dirs: Clean old files during update while protecting data dirs.

⚙️ What Decypharr does#

🧠 How It Works#

Decypharr acts as both a torrent manager and a renaming/organizing engine:

  • Handles torrent links via Debrid services
  • Mimics Qbittorrent API for seamless *Arr integration
  • Renames and organizes files into structured symlink folders
  • Provides a Web UI and WebDAV endpoints for remote management
  • Ensures all changes propagate cleanly between containers using rshared/rslave

🎛️ Supported Features#

  • ✅ Mock Qbittorrent API for Sonarr, Radarr, Lidarr, etc.
  • 🖥 Full-featured UI for managing torrents
  • 🌐 Proxy filtering for un-cached Debrid torrents
  • 🔁 Multiple Debrid service support (Real Debrid, Torbox, Debrid Link, All Debrid)
  • 📂 WebDAV server per Debrid provider for mounting remote files
  • 🔧 Repair Worker for missing files or symlinks

📦 Integration with DUMB#

To successfully run Decypharr with DUMB, the following configuration and mounting steps must be completed:

1. Bind Mount Setup#

In both your DUMB and arrs docker-compose files, include the following bind mounts (replace ... with the full host path to your DUMB bind mount):

DUMB Compose:

tmpfs:
  - .../DUMB/mnt/debrid:/mnt/debrid:rshared

Arrs Compose (Sonarr/Radarr):

volumes:
  - .../DUMB/mnt/debrid:/mnt/debrid:rslave

These mounts are required to ensure Decypharr-created symlinks are visible to the Arr containers.

2. Configure Root Folders in Arrs#

Inside the Sonarr and Radarr web UI:

  • Navigate to Settings > Media Management > Root Folders
  • Add the following paths:

  • Radarr: /mnt/debrid/decypharr_symlinks/movies

  • Sonarr: /mnt/debrid/decypharr_symlinks/shows

These directories are managed by Decypharr and must be used for proper operation.

3. Connect Decypharr to Arrs#

Follow the official usage guide for step-by-step instructions on connecting your Radarr and Sonarr instances to Decypharr.

This includes setting the correct API keys and ensuring URL paths match the container environments.

4. Plex Library Setup#

In Plex, add the Decypharr symlink folders as library sources:

  • Movies Library: /mnt/debrid/decypharr_symlinks/movies
  • TV Shows Library: /mnt/debrid/decypharr_symlinks/shows

This ensures Plex indexes files processed and renamed by Decypharr, enabling clean and consistent playback.


🛠️ Troubleshooting Tips#

  • Ensure the bind mounts are correct and both containers see the same /mnt/debrid structure
  • Make sure Decypharr has permission to write to and create symlinks in the target directory
  • If media doesn't appear in Plex, check that the symlink folders are scanned and indexed
  • Use docker inspect to verify correct mount propagation between DUMB and Arrs

🌐 Supported Debrid Providers#


🔗 Resources#