# Installation There are multiple ways to install and run DecyphArr. Choose the method that works best for your setup. ## Docker Installation (Recommended) 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 Compose Setup Create a `docker-compose.yml` file with the following content: ```yaml version: '3.7' services: decypharr: image: cy01/blackhole:latest # or cy01/blackhole:beta container_name: decypharr ports: - "8282:8282" user: "1000:1000" volumes: - /mnt/:/mnt - ./config/:/app # config.json must be in this directory environment: - PUID=1000 - PGID=1000 - UMASK=002 - QBIT_PORT=8282 # qBittorrent Port (optional) - PORT=8181 # Proxy Port (optional) restart: unless-stopped depends_on: - rclone # If you are using rclone with docker ``` Run the Docker Compose setup: ```bash docker-compose up -d ``` ## Binary Installation If you prefer not to use Docker, you can download and run the binary directly. Download the binary from the releases page Create a configuration file (see Configuration) Run the binary: ```bash 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. ```json { "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" } ```