Skip to content

Installation

There are multiple ways to install and run Decypharr. Choose the method that works best for your setup.

Docker is the easiest way to get started with Decypharr.

Available Docker Registries

You can use either Docker Hub or GitHub Container Registry to pull the image:

  • Docker Hub: cy01/blackhole:latest
  • GitHub Container Registry: ghcr.io/sirrobot01/decypharr:latest

Docker Tags

  • latest: The latest stable release
  • beta: The latest beta release
  • vX.Y.Z: A specific version (e.g., v0.1.0)
  • nightly: The latest nightly build (usually unstable)
  • experimental: The latest experimental build (highly unstable)

Docker CLI Setup

Pull the Docker image:

docker pull cy01/blackhole:latest
Run the Docker container:
docker run -d \
  --name decypharr \
  -p 8282:8282 \
  -v /mnt/:/mnt \
  -v ./config/:/app \
  -e PUID=1000 \
  -e PGID=1000 \
  -e UMASK=002 \
  cy01/blackhole:latest

Docker Compose Setup

Create a docker-compose.yml file with the following content:

services:
  decypharr:
    image: cy01/blackhole:latest
    container_name: decypharr
    ports:
      - "8282:8282"
    volumes:
      - /mnt/:/mnt:rslave # Mount your media directory
      - ./config/:/app # config.json must be in this directory
      - QBIT_PORT=8282 # qBittorrent Port (optional)
    restart: unless-stopped

Run the Docker Compose setup:

docker-compose up -d

Binary Installation

If you prefer not to use Docker, you can download and run the binary directly.

Download your OS-specific release from the releases page. Create a configuration file (see Configuration) Run the binary:

chmod +x decypharr
./decypharr --config /path/to/config/folder

The config directory should contain your config.json file.

config.json

The config.json file is where you configure Decypharr. You can find a sample configuration file in the configs directory of the repository.

You can also configure Decypharr through the web interface, but it's recommended to start with the config file for initial setup.

{
  "debrids": [
    {
      "name": "realdebrid",
      "api_key": "your_api_key_here",
      "folder": "/mnt/remote/realdebrid/__all__/",
      "use_webdav": true
    }
  ],
  "qbittorrent": {
    "download_folder": "/mnt/symlinks/",
    "categories": ["sonarr", "radarr"]
  },
  "use_auth": false,
  "log_level": "info",
  "port": "8282"
}

Notes for Docker Users

  • Ensure that the /mnt/ directory is mounted correctly to access your media files.
  • The ./config/ directory should contain your config.json file.
  • You can adjust the PUID and PGID environment variables to match your user and group IDs for proper file permissions.
  • The UMASK environment variable can be set to control file permissions created by Decypharr.
Health Checks
  • Health checks are disabled by default. You can enable them by adding a healthcheck section in your docker-compose.yml file.
  • Health checks checks for availability of several parts of the application;
    • The main web interface
    • The qBittorrent API
    • The WebDAV server (if enabled). You should disable health checks for the initial indexes as they can take a long time to complete.
services:
  decypharr:
    ...
    ...
    healthcheck:
      test: ["CMD", "/usr/bin/healthcheck", "--config", "/app/"]
      interval: 5s
      timeout: 10s
      retries: 3