### Setup WebUI Development Environment Source: https://github.com/feramance/qbitrr/blob/master/docs/development/index.md Navigate to the WebUI directory, install Node.js dependencies, and start the development server. ```bash # Navigate to WebUI directory cd webui # Install dependencies npm ci # Start development server npm run dev # WebUI will be at http://localhost:5173 ``` -------------------------------- ### Start qBitrr Source: https://github.com/feramance/qbitrr/blob/master/docs/faq.md Use these commands to start the qBitrr service depending on your installation method. ```bash qbitrr # pip/native ``` ```bash docker start qbitrr # Docker ``` ```bash sudo systemctl start qbitrr # Systemd ``` -------------------------------- ### Development Setup for qBitrr WebUI (Bash) Source: https://github.com/feramance/qbitrr/blob/master/README.md Commands to set up the WebUI development environment. Requires navigating to the webui directory, installing dependencies, and starting the development server. ```bash # WebUI cd webui && npm ci npm run dev # Dev server at localhost:5173 ``` -------------------------------- ### Install Dependencies and Start Development Server Source: https://github.com/feramance/qbitrr/blob/master/docs/development/webui.md Navigate to the webui directory, install project dependencies using npm ci, and start the development server with npm run dev. The server runs on http://localhost:5173 and proxies API requests to the backend. ```bash cd webui # Install dependencies npm ci # Start development server npm run dev # Visit http://localhost:5173 ``` -------------------------------- ### Quick Start: Install and Enable qBitrr Service Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/systemd.md A condensed set of commands to quickly set up the qBitrr user, install qBitrr, create necessary directories, and enable the systemd service. ```bash sudo useradd -r -s /bin/bash -d /opt/qbitrr -m qbitrr # Install qBitrr sudo -u qbitrr pip install qBitrr2 # Create directories sudo mkdir -p /opt/qbitrr/{config,logs} sudo chown -R qbitrr:qbitrr /opt/qbitrr # Create service file sudo nano /etc/systemd/system/qbitrr.service # Enable and start sudo systemctl daemon-reload sudo systemctl enable --now qbitrr ``` -------------------------------- ### Setup Backend Development Environment Source: https://github.com/feramance/qbitrr/blob/master/docs/development/index.md Create a virtual environment, activate it, and install backend dependencies in development mode. Install pre-commit hooks for code quality. ```bash # Create virtual environment python -m venv .venv source .venv/bin/activate # Linux/macOS # or .venv\Scripts\activate # Windows # Install in development mode pip install -e ".[all]" # Install pre-commit hooks pre-commit install ``` -------------------------------- ### Copy Example Configuration File Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/config-file.md Instructions for copying the example configuration file to the appropriate location for Linux/macOS native installations or Docker. ```bash # Copy the example file to your config directory cp config.example.toml ~/config/config.toml # Linux/macOS native # Or for Docker: copy to the host path that you mount at /config ``` -------------------------------- ### Start qBitrr Service Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/index.md Start the qBitrr service after configuring it. Choose the appropriate command based on your installation method (Docker or native). ```bash # Docker docker start qbitrr # Native qbitrr ``` -------------------------------- ### Pip Installation and Setup Source: https://context7.com/feramance/qbitrr/llms.txt Install qBitrr using pip and manage its lifecycle. Ensure Python 3.11+ is used. The configuration file is located in ~/.local/share/qBitrr/config.toml by default. ```bash # Standard install python3 -m venv qbitrr-env source qbitrr-env/bin/activate # Windows: qbitrr-env\Scripts\activate pip install qBitrr2 # optional extras: qBitrr2[fast] or qBitrr2[all] # First run — generates config.toml then press Ctrl+C to stop qbitrr # Edit generated config nano ~/.local/share/qBitrr/config.toml # Linux default; override with QBITRR_OVERRIDES_DATA_PATH # Restart after config edit qbitrr # Upgrade pip install --upgrade qBitrr2 # Systemd service (Linux) sudo systemctl enable --now qbitrr ``` -------------------------------- ### qBitrr Config for Mixed Install Scenario (Native) Source: https://github.com/feramance/qbitrr/blob/master/docs/troubleshooting/path-mapping.md Example config.toml for a native qBitrr installation in a mixed Docker + native setup. Sets the `CompletedDownloadFolder` to the host path. ```toml [Settings] CompletedDownloadFolder = "/mnt/storage/torrents" # Host path ``` -------------------------------- ### TRaSH Guides Setup with Single Volume Source: https://github.com/feramance/qbitrr/blob/master/docs/troubleshooting/path-mapping.md Configure Docker volumes and config.toml for a unified storage path as recommended by TRaSH Guides. Ensure qBittorrent categories align with directory structures. ```yaml services: qbittorrent: volumes: - /mnt/storage:/data radarr: volumes: - /mnt/storage:/data sonarr: volumes: - /mnt/storage:/data qbitrr: volumes: - /mnt/storage:/data ``` ```toml [Settings] CompletedDownloadFolder = "/data/torrents" [Radarr-Movies] Category = "radarr-movies" [Sonarr-TV] Category = "sonarr-tv" [Lidarr-Music] Category = "lidarr-music" ``` -------------------------------- ### Minimal Complete qBitrr Configuration Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/config-file.md An example of the absolute minimum configuration required to start qBitrr. `ConfigVersion` is managed automatically. ```toml [Settings] CompletedDownloadFolder = "/data/downloads" [WebUI] Host = "0.0.0.0" Port = 6969 [qBit] Disabled = false Host = "localhost" Port = 8080 UserName = "admin" Password = "adminpass" [Radarr-Movies] Managed = true URI = "http://localhost:7878" APIKey = "your-radarr-api-key" Category = "radarr-movies" ReSearch = true ``` -------------------------------- ### Radarr Quality Profile Setup Example Source: https://github.com/feramance/qbitrr/blob/master/docs/features/quality-upgrades.md Configure qBitrr for Radarr to accept 1080p minimum and upgrade to 4K when available, searching for missing items and continuing upgrades. ```toml [Radarr-Movies.EntrySearch] SearchMissing = true QualityUnmetSearch = true # Search until 1080p cutoff met DoUpgradeSearch = true # Continue searching for 4K SearchRequestsEvery = 1200 ``` -------------------------------- ### Install qBitrr as a Service on Windows using NSSM Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/binary.md Use NSSM (Non-Sucking Service Manager) to install and start qBitrr as a Windows service. ```powershell nssm install qBitrr "C:\Program Files\qBitrr\qbitrr.exe" nssm start qBitrr ``` -------------------------------- ### Start qBitrr (Binary) Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/index.md Execute the qBitrr binary directly to start the application. ```bash ./qbitrr ``` -------------------------------- ### Install qBitrr on Linux/macOS with systemd Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/pip.md Provides instructions for setting up qBitrr as a system service using systemd on Linux. Refer to the linked guide for detailed steps. ```bash See the [Systemd Service Guide](systemd.md) for running qBitrr as a system service. ``` -------------------------------- ### Start Backend and Frontend Development Servers Source: https://github.com/feramance/qbitrr/blob/master/docs/development/webui.md To run qBitrr locally, start the backend by running 'qbitrr' in one terminal. In a second terminal, navigate to the 'webui' directory and run 'npm run dev' to start the frontend development server. ```bash # Start qBitrr qbitrr ``` ```bash cd webui npm run dev ``` -------------------------------- ### Configure Docker Setup with Custom Network Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/index.md Example configuration for a Docker setup using container names for host and service discovery. Assumes a custom network is configured. ```toml [qBit] Host = "http://qbittorrent" # Container name Port = 8080 [Radarr-Movies] URI = "http://radarr:7878" # Container name APIKey = "your-api-key" ``` -------------------------------- ### Binary Installation Update Instructions Source: https://github.com/feramance/qbitrr/blob/master/docs/features/auto-updates.md For binary installations, auto-update cannot replace a running executable. Instead, qBitrr logs instructions to guide the user through a manual update process, including download links and steps. ```text [INFO] Binary installation detected - manual update required [INFO] Update available: v5.4.3 [INFO] Download from: https://github.com/Feramance/qBitrr/releases/latest [INFO] Instructions: [INFO] 1. Download the binary for your platform [INFO] 2. Extract the archive [INFO] 3. Replace current executable with new binary [INFO] 4. Restart qBitrr ``` -------------------------------- ### Start qBitrr with Systemd Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/quickstart.md Start the qBitrr service using systemctl. Ensure the service file is correctly configured. ```bash sudo systemctl start qbitrr ``` -------------------------------- ### Install and Use NSSM for qBitrr Service on Windows Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/pip.md Demonstrates how to install NSSM (Non-Sucking Service Manager) using Chocolatey and then use it to create and start a qBitrr Windows service. ```powershell # Install NSSM choco install nssm # Create service nssm install qBitrr "C:\Python311\Scripts\qbitrr.exe" nssm start qBitrr ``` -------------------------------- ### Start qBitrr (Systemd) Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/index.md Start the qBitrr service using systemctl and follow its logs with journalctl. ```bash sudo systemctl start qbitrr journalctl -u qbitrr -f ``` -------------------------------- ### Sonarr Quality Profile Setup Example Source: https://github.com/feramance/qbitrr/blob/master/docs/features/quality-upgrades.md Configure qBitrr for Sonarr to download WEB-1080p for new episodes and upgrade to Bluray later, prioritizing today's releases. ```toml [Sonarr-TV.EntrySearch] SearchMissing = true PrioritizeTodaysReleases = true # Get new episodes fast DoUpgradeSearch = true # Upgrade to Bluray later SearchRequestsEvery = 600 ``` -------------------------------- ### qBitrr Configuration File for Multi-Container Setup Source: https://github.com/feramance/qbitrr/blob/master/docs/troubleshooting/docker.md Example `config.toml` file for qBitrr, showing how to configure connections to other services like qBittorrent, Radarr, and Sonarr using their Docker service names. ```toml [qBit] Host = "qbittorrent" # Docker service name Port = 8080 UserName = "admin" Password = "password" [Radarr-Movies] URI = "http://radarr:7878" # Docker service name APIKey = "your-api-key" Category = "radarr-movies" [Sonarr-TV] URI = "http://sonarr:8989" # Docker service name APIKey = "your-api-key" Category = "sonarr-tv" [Settings] CompletedDownloadFolder = "/data/torrents" [WebUI] Host = "0.0.0.0" Port = 6969 ``` -------------------------------- ### Complete Docker Compose Example for Multi-Container Setup Source: https://github.com/feramance/qbitrr/blob/master/docs/troubleshooting/docker.md A comprehensive Docker Compose file demonstrating how to set up qBitrr alongside other services like qBittorrent, Radarr, and Sonarr, including network configuration and volumes. ```yaml version: "3.8" services: qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent environment: - PUID=1000 - PGID=1000 - TZ=America/New_York - WEBUI_PORT=8080 volumes: - ./qbittorrent/config:/config - /mnt/storage:/data ports: - "8080:8080" - "6881:6881" - "6881:6881/udp" restart: unless-stopped networks: - mediastack radarr: image: lscr.io/linuxserver/radarr:latest container_name: radarr environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./radarr/config:/config - /mnt/storage:/data ports: - "7878:7878" restart: unless-stopped networks: - mediastack sonarr: image: lscr.io/linuxserver/sonarr:latest container_name: sonarr environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./sonarr/config:/config - /mnt/storage:/data ports: - "8989:8989" restart: unless-stopped networks: - mediastack qbitrr: image: feramance/qbitrr:latest container_name: qbitrr user: "1000:1000" volumes: - ./qbitrr/config:/config - /mnt/storage:/data ports: - "6969:6969" restart: unless-stopped depends_on: - qbittorrent - radarr - sonarr networks: - mediastack networks: mediastack: driver: bridge ``` -------------------------------- ### Docker Compose Example Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/qbittorrent.md Example Docker Compose file demonstrating how to set up qBittorrent and qBitrr in the same Docker network. ```yaml services: qbittorrent: image: linuxserver/qbittorrent:latest container_name: qbittorrent ports: - "8080:8080" networks: - media qbitrr: image: feramance/qbitrr:latest container_name: qbitrr networks: - media volumes: - /path/to/config:/config networks: media: ``` -------------------------------- ### Example Arr Quality Profile Setup Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/quality-profiles.md Illustrates the creation of main and temporary quality profiles within media managers like Lidarr. ```text Profiles in Lidarr: - "Lossless (FLAC)" → Main profile - "Any (MP3-320)" → Temp profile - "Lossy (MP3-256)" → Temp profile ``` -------------------------------- ### Start qBitrr (Systemd) Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/index.md Restart the qBitrr service and enable it to start automatically on boot. ```bash sudo systemctl start qbitrr sudo systemctl enable qbitrr # Enable auto-start ``` -------------------------------- ### Lidarr Quality Profile Setup Example Source: https://github.com/feramance/qbitrr/blob/master/docs/features/quality-upgrades.md Configure qBitrr for Lidarr to accept MP3-320 initially and upgrade to FLAC later, using temporary storage for missing items and mapping qualities. ```toml [Lidarr-Music.EntrySearch] SearchMissing = true UseTempForMissing = true QualityProfileMappings = {"Lossless (FLAC)" = "Lossy (MP3-320)"} QualityUnmetSearch = true DoUpgradeSearch = true SearchRequestsEvery = 1800 ``` -------------------------------- ### Complete WebUI Configuration Example Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/config-file.md An example demonstrating a complete WebUI configuration, including host, port, and various UI settings. ```toml [WebUI] Host = "0.0.0.0" Port = 6969 Token = "" LiveArr = true GroupSonarr = true GroupLidarr = true Theme = "Dark" ViewDensity = "Comfortable" ``` -------------------------------- ### Enable and Start qBitrr Service Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/systemd.md Commands to reload the systemd daemon, enable qBitrr to start on boot, and start the service immediately. ```bash # Reload systemd sudo systemctl daemon-reload # Enable auto-start on boot sudo systemctl enable qbitrr # Start immediately sudo systemctl start qbitrr # Check status sudo systemctl status qbitrr ``` -------------------------------- ### Install qBitrr with pip Source: https://github.com/feramance/qbitrr/blob/master/README.md Installs qBitrr using pip within a virtual environment. The first run creates the configuration file. ```bash python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install qBitrr2 # First run creates config (Docker: /config/config.toml; native: .config/config.toml in current directory, or set QBITRR_OVERRIDES_DATA_PATH) qbitrr ``` -------------------------------- ### Complete qBit Section Example Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/config-file.md A comprehensive example of the [qBit] section, configuring the connection to qBittorrent, including host, port, credentials, and category matching options. ```toml [qBit] Disabled = false Host = "localhost" Port = 8080 UserName = "admin" Password = "adminpass" ManagedCategories = [] # When true, configured categories also match torrents in any qBittorrent # subcategory beneath them ("seed" then matches "seed/tleech", "seed/longterm", # etc.). Defaults to false (exact match), preserving existing behaviour. MatchSubcategories = false ``` -------------------------------- ### Install qBitrr using pip Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/index.md Install qBitrr directly from PyPI using pip. This method requires Python 3.11+ to be installed. ```bash pip install qBitrr2 qbitrr ``` -------------------------------- ### Install qBitrr with Optional Dependencies Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/pip.md Installs qBitrr with additional dependencies. Use '[fast]' for faster JSON parsing, '[dev]' for development, or '[all]' for all optional dependencies. ```bash pip install qBitrr2[fast] ``` ```bash pip install qBitrr2[dev] ``` ```bash pip install qBitrr2[all] ``` -------------------------------- ### Set Up Development Environment Source: https://github.com/feramance/qbitrr/blob/master/docs/development/contributing.md Create a virtual environment and install project dependencies using make commands. ```bash make newenv # Create virtual environment make syncenv # Install dependencies ``` -------------------------------- ### Enable and start qBitrr as a systemd service Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/index.md Enable qBitrr to start automatically on boot and start the service immediately. This is suitable for production deployments on Linux servers. ```bash sudo systemctl enable --now qbitrr ``` -------------------------------- ### Basic qBitrr Managed Instance Setup Source: https://github.com/feramance/qbitrr/blob/master/docs/features/instant-imports.md Configure a media server instance to be managed by qBitrr. Ensure 'Managed' is set to true and provide the correct URI and API key for your media server. ```toml [Radarr-Movies] # Enable qBitrr management Managed = true # Connection details URI = "http://localhost:7878" APIKey = "your-radarr-api-key" Category = "radarr-movies" # Import mode importMode = "Auto" ``` -------------------------------- ### Start qBitrr via Docker Source: https://github.com/feramance/qbitrr/blob/master/docs/webui/index.md Command to start the qBitrr service using Docker Compose. Use this if qBitrr is not running and you are using Docker. ```bash docker-compose up -d qbitrr ``` -------------------------------- ### Example .env File Configuration Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/environment.md Copy the .env.example file to .env and fill in your specific values for qBittorrent connection and download paths. ```dotenv # .env.example # Copy to .env and fill in values # qBittorrent Connection QBITRR_QBIT_HOST=localhost QBITRR_QBIT_PORT=8080 QBITRR_QBIT_USERNAME=admin QBITRR_QBIT_PASSWORD=changeme # Paths (adjust for your system) QBITRR_SETTINGS_COMPLETED_DOWNLOAD_FOLDER=/downloads/complete QBITRR_SETTINGS_FREE_SPACE_FOLDER=/downloads ``` -------------------------------- ### Start qBitrr (Docker) Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/index.md Use this command to start the qBitrr service in detached mode and view its logs. ```bash docker-compose up -d qbitrr docker logs -f qbitrr ``` -------------------------------- ### Basic Docker Run Example Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/environment.md A basic example of running qBitrr in Docker, mapping ports, volumes, and setting essential environment variables for console logging, completed download folder, and qBittorrent connection. ```bash docker run -d \ --name qbitrr \ -e QBITRR_SETTINGS_CONSOLE_LEVEL=INFO \ -e QBITRR_SETTINGS_COMPLETED_DOWNLOAD_FOLDER=/downloads/complete \ -e QBITRR_QBIT_HOST=qbittorrent \ -e QBITRR_QBIT_PORT=8080 \ -e QBITRR_QBIT_USERNAME=admin \ -e QBITRR_QBIT_PASSWORD=supersecret \ -v /host/config:/config \ -v /host/downloads:/downloads \ feramance/qbitrr:latest ``` -------------------------------- ### Install Documentation Dependencies Source: https://github.com/feramance/qbitrr/blob/master/docs/README.md Installs the necessary Python packages for building and serving the documentation locally. Use either the make command or pip directly. ```bash make docs-install # or pip install -r requirements.docs.txt ``` -------------------------------- ### Docker Compose for Mixed Install Scenario Source: https://github.com/feramance/qbitrr/blob/master/docs/troubleshooting/path-mapping.md Example docker-compose.yml snippet for a mixed Docker and native install scenario. Shows volume mounts for qBittorrent and Arr instances. ```yaml services: qbittorrent: volumes: - /mnt/storage:/data radarr: volumes: - /mnt/storage:/data ``` -------------------------------- ### Media Hoarder Setup Configuration Source: https://github.com/feramance/qbitrr/blob/master/docs/features/index.md Example TOML configuration for a media hoarder setup, optimizing for downloading and retaining content with specific ETA and slow download handling. ```toml [Radarr-Movies.EntrySearch] SearchMissing = true SearchRequestsEvery = 180 DoUpgradeSearch = false SearchAgainOnSearchCompletion = true [Radarr-Movies.Torrent] MaximumETA = 172800 # 48 hours DoNotRemoveSlow = true StalledDelay = 30 ``` -------------------------------- ### Complete Settings Section Example Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/config-file.md Provides a comprehensive example of the [Settings] section, showcasing various global configuration options for logging, paths, disk management, timers, and network settings. ```toml [Settings] # Internal config schema version - DO NOT MODIFY (managed automatically) # ConfigVersion = "5.12.1" # Logging ConsoleLevel = "INFO" Logging = true # Paths CompletedDownloadFolder = "/data/downloads" FreeSpaceFolder = "/data/downloads" # Disk space management FreeSpace = "50G" AutoPauseResume = true # Timers NoInternetSleepTimer = 15 LoopSleepTimer = 5 SearchLoopDelay = -1 # Special categories FailedCategory = "failed" RecheckCategory = "recheck" # Torrent processing Tagless = false IgnoreTorrentsYoungerThan = 180 # Network PingURLS = ["one.one.one.one", "dns.google.com"] # FFprobe FFprobeAutoUpdate = true # Auto-updates AutoUpdateEnabled = false AutoUpdateCron = "0 3 * * 0" # Process management AutoRestartProcesses = true MaxProcessRestarts = 5 ProcessRestartWindow = 300 ProcessRestartDelay = 5 ``` -------------------------------- ### Copy qBitrr Config from Native Install Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/docker.md Migrate your existing qBitrr configuration from a native installation to a Docker setup. This involves copying the configuration files and updating paths. ```bash cp ~/.config/qBitrr/config.toml /path/to/docker/config/ ``` ```bash cp ~/.config/qBitrr/*.db /path/to/docker/config/ ``` -------------------------------- ### Development Installation from Source Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/pip.md Clone the qBitrr repository, set up a virtual environment, and install the package in development mode. This allows you to make changes to the source code and test them directly. ```bash # Clone repository git clone https://github.com/Feramance/qBitrr.git cd qBitrr ``` ```bash # Create virtual environment python3 -m venv .venv source .venv/bin/activate ``` ```bash # Install in development mode pip install -e .[all] ``` ```bash # Run from source python -m qBitrr.main ``` -------------------------------- ### cURL - Get Processes Source: https://github.com/feramance/qbitrr/blob/master/docs/webui/api.md Example cURL command to retrieve a list of all running processes. ```APIDOC ## GET /api/processes ### Description Retrieves a list of all running processes. ### Method GET ### Endpoint /api/processes ### Request Example ```bash curl -H "Authorization: Bearer abc123..." \ http://localhost:6969/api/processes ``` ``` -------------------------------- ### Get qBitrr Version Source: https://github.com/feramance/qbitrr/blob/master/docs/troubleshooting/database.md Use this command to retrieve the currently installed qBitrr version for troubleshooting. ```bash docker exec qbitrr qbitrr --version ``` -------------------------------- ### Development Setup for qBitrr Backend (Bash) Source: https://github.com/feramance/qbitrr/blob/master/README.md Commands to set up the Python backend development environment. Includes creating and syncing a virtual environment, and reformatting/linting the code. ```bash # Python backend make newenv && make syncenv make reformat # Format and lint ``` -------------------------------- ### Serve and Build Documentation Locally Source: https://github.com/feramance/qbitrr/blob/master/docs/development/index.md Install MkDocs dependencies, serve the documentation locally for preview, and build the static documentation files. ```bash # Install docs dependencies make docs-install # Serve locally make docs-serve # Visit http://127.0.0.1:8000 # Build make docs-build ``` -------------------------------- ### cURL - Get Radarr Movies (Missing Only) Source: https://github.com/feramance/qbitrr/blob/master/docs/webui/api.md Example cURL command to retrieve only missing movies from Radarr. ```APIDOC ## GET /web/radarr/{category}/movies ### Description Retrieves a list of movies from Radarr, with filtering options. ### Method GET ### Endpoint /web/radarr/{category}/movies ### Parameters #### Query Parameters - **has_file** (boolean) - Optional - Filter movies that do not have a file (false). - **monitored** (boolean) - Optional - Filter for monitored movies (true). ``` -------------------------------- ### Get Configuration Error Response Source: https://github.com/feramance/qbitrr/blob/master/docs/webui/config-editor.md Example JSON response indicating an error when trying to fetch the configuration. ```json { "error": "Failed to load configuration" } ``` -------------------------------- ### Install qBitrr Binary on Windows Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/environment.md Sets environment variables for qBitrr configuration using PowerShell and then executes the binary. ```powershell $env:QBITRR_SETTINGS_CONSOLE_LEVEL="DEBUG" $env:QBITRR_SETTINGS_COMPLETED_DOWNLOAD_FOLDER="C:/Downloads/Complete" $env:QBITRR_QBIT_HOST="localhost" $env:QBITRR_QBIT_PORT="8080" $env:QBITRR_QBIT_USERNAME="admin" $env:QBITRR_QBIT_PASSWORD="password" . \qbitrr.exe ``` -------------------------------- ### Migrate Docker Run to Docker Compose Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/migration.md Example of migrating a qBitrr Docker setup from 'docker run' command to a 'docker-compose.yml' file. ```bash docker run -d \ --name qbitrr \ -v /path/to/config:/config \ -p 6969:6969 \ feramance/qbitrr:latest ``` ```yaml version: "3.8" services: qbitrr: image: feramance/qbitrr:latest container_name: qbitrr volumes: - /path/to/config:/config ports: - "6969:6969" restart: unless-stopped ``` ```bash # Stop old container docker stop qbitrr docker rm qbitrr # Start with compose docker-compose up -d qbitrr ``` -------------------------------- ### Sonarr Profile Strategy Example Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/quality-profiles.md Configuration for Sonarr to prioritize getting episodes quickly and upgrading to WEB-DL later, with a 1-day timeout for new episodes. ```toml QualityProfileMappings = { "WEB-DL 1080p" = "HDTV-1080p" } TempProfileResetTimeoutMinutes = 1440 # 1 day (for new episodes) ``` -------------------------------- ### Install qBitrr on Linux Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/binary.md Download qBitrr to /usr/local/bin and make it executable for system-wide access. ```bash sudo curl -L -o /usr/local/bin/qbitrr \ https://github.com/Feramance/qBitrr/releases/latest/download/qbitrr-linux-x64 sudo chmod +x /usr/local/bin/qbitrr ``` -------------------------------- ### Example docker-compose.yml with Remote Path Mapping Source: https://github.com/feramance/qbitrr/blob/master/docs/troubleshooting/path-mapping.md Illustrates a docker-compose setup where different host paths are mapped to different container paths, necessitating remote path mapping. ```yaml services: qbittorrent: volumes: - /mnt/storage/torrents:/downloads # Different path radarr: volumes: - /mnt/storage/torrents:/data/torrents # Different path qbitrr: volumes: - /mnt/storage/torrents:/completed # Different path ``` -------------------------------- ### qBittorrent Minimal Local Setup Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/qbittorrent.md Basic TOML configuration for connecting qBitrr to a local qBittorrent instance. Ensure Host and Port match your qBittorrent Web UI settings. ```toml [qBit] Host = "localhost" Port = 8080 UserName = "admin" Password = "my-secure-password" ``` -------------------------------- ### Nginx Reverse Proxy Configuration for qBittorrent Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/qbittorrent.md Example Nginx configuration to proxy requests to qBittorrent. This setup is useful when qBittorrent is not directly accessible from the network qBitrr is running on. ```nginx location /qbittorrent/ { proxy_pass http://localhost:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Referer ""; } ``` -------------------------------- ### Install qBitrr Binary on Linux/macOS Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/environment.md Sets environment variables for qBitrr configuration and then executes the binary. Useful for direct execution or scripting. ```bash #!/bin/bash export QBITRR_SETTINGS_CONSOLE_LEVEL=DEBUG export QBITRR_SETTINGS_COMPLETED_DOWNLOAD_FOLDER=/downloads/complete export QBITRR_QBIT_HOST=localhost export QBITRR_QBIT_PORT=8080 export QBITRR_QBIT_USERNAME=admin export QBITRR_QBIT_PASSWORD=password ./qbitrr ``` -------------------------------- ### Get Configuration API Response Source: https://github.com/feramance/qbitrr/blob/master/docs/webui/config-editor.md Example JSON response when fetching the current application configuration. It includes various sections like Settings, WebUI, qBit, and Arr instances. ```json { "Settings": { "ConsoleLevel": "INFO", "Logging": true, "CompletedDownloadFolder": "/mnt/downloads", "...": "..." }, "WebUI": { "Host": "0.0.0.0", "Port": 6969, "...": "..." }, "qBit": { "Host": "localhost", "Port": 8080, "...": "..." }, "Radarr-4K": { "Managed": true, "URI": "http://localhost:7878", "...": "..." }, "...": "..." } ``` -------------------------------- ### Serve Documentation Locally Source: https://github.com/feramance/qbitrr/blob/master/docs/README.md Starts a local development server with hot-reloading for the documentation. Access the site via http://127.0.0.1:8000. ```bash make docs-serve # or mkdocs serve ``` -------------------------------- ### Example: Backfill Old Content Configuration Source: https://github.com/feramance/qbitrr/blob/master/docs/features/automated-search.md Configure Radarr to fill in classic movies by starting with the oldest content and performing a single pass. `SearchInReverse = true` prioritizes older items. ```toml [Radarr-Classics.EntrySearch] SearchMissing = true SearchByYear = true SearchInReverse = true # Start with oldest SearchRequestsEvery = 300 DoUpgradeSearch = false SearchAgainOnSearchCompletion = false # One pass ``` -------------------------------- ### Clone and Run qBitrr Source: https://github.com/feramance/qbitrr/blob/master/docs/development/index.md Clone the repository, set up a virtual environment, install dependencies, and run qBitrr locally. ```bash # Clone the repository git clone https://github.com/Feramance/qBitrr.git cd qBitrr # Create virtual environment make newenv # Install dependencies make syncenv # Run qBitrr source .venv/bin/activate python -m qBitrr.main ``` -------------------------------- ### qBitrr Process Management Log Entries Source: https://github.com/feramance/qbitrr/blob/master/docs/features/process-management.md Example log entries illustrating qBitrr's process management events, including starting, stopping, restarting, and exceeding restart limits. ```log INFO - Starting Radarr-Movies process (category: radarr-movies, role: manager) INFO - Radarr-Movies process started with PID 12345 WARNING - Radarr-Movies process (PID 12345) terminated with code 1 INFO - Scheduling restart for Radarr-Movies in 5 seconds (attempt 1/5) INFO - Restarting Radarr-Movies process INFO - Radarr-Movies process restarted successfully (PID 12346) ERROR - Radarr-Movies process exceeded restart limit (5 restarts in 300 seconds) ERROR - Auto-restart disabled for Radarr-Movies; manual intervention required ``` -------------------------------- ### Create and Activate Virtual Environment Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/pip.md Sets up a Python virtual environment for qBitrr installation. This is the recommended approach to manage dependencies. ```bash python3 -m venv qbitrr-env source qbitrr-env/bin/activate ``` ```powershell qbitrr-env\Scripts\activate ``` -------------------------------- ### Docker Testing: Build and Run qBitrr Source: https://github.com/feramance/qbitrr/blob/master/docs/development/testing.md Build a Docker image for testing and run it with a specific configuration, mapping ports and volumes. Includes commands for checking logs and cleanup. ```bash # Build test image docker build -t qbitrr:test . # Run with test config docker run -d \ --name qbitrr-test \ -p 6969:6969 \ -v $(pwd)/test-config.toml:/config/config.toml \ -v /path/to/downloads:/downloads \ qbitrr:test # Check logs docker logs -f qbitrr-test # Clean up docker stop qbitrr-test docker rm qbitrr-test ``` -------------------------------- ### Create qBitrr Directory Structure Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/systemd.md Sets up the essential configuration and logs directories for qBitrr and assigns ownership to the qbitrr user. ```bash sudo mkdir -p /opt/qbitrr/config sudo mkdir -p /opt/qbitrr/logs sudo chown -R qbitrr:qbitrr /opt/qbitrr ``` -------------------------------- ### Private Tracker Setup Configuration Source: https://github.com/feramance/qbitrr/blob/master/docs/features/index.md Example TOML configuration for private tracker users, focusing on preserving seeding by using 'Copy' import mode and specific seeding time/ratio rules. ```toml [Radarr-Private] importMode = "Copy" # Preserve seeding [Radarr-Private.Torrent] DoNotRemoveSlow = true StalledDelay = 45 MaximumDeletablePercentage = 0.99 [Radarr-Private.Torrent.SeedingMode] MaxUploadRatio = -1 # Never stop MaxSeedingTime = 2592000 # 30 days minimum RemoveTorrent = 2 # Time-based only ``` -------------------------------- ### Quality-Focused Setup Configuration Source: https://github.com/feramance/qbitrr/blob/master/docs/features/index.md Example TOML configuration for users prioritizing media quality. It enables missing content searches, upgrade searches, and custom format searches with no ETA limit. ```toml [Radarr-4K.EntrySearch] SearchMissing = true DoUpgradeSearch = true QualityUnmetSearch = true CustomFormatUnmetSearch = true ForceMinimumCustomFormat = true [Radarr-4K.Torrent] MaximumETA = -1 # No limit DoNotRemoveSlow = true StalledDelay = 60 ``` -------------------------------- ### Volume Mapping Example in Docker Compose Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/docker.md Illustrates how to configure volume mounts for qBittorrent, Radarr, and qBitrr to ensure they all share the same download path. This is critical for correct operation. ```yaml services: qbittorrent: volumes: - /mnt/storage/downloads:/downloads radarr: volumes: - /mnt/storage/downloads:/downloads qbitrr: volumes: - /mnt/storage/downloads:/downloads # Same path! ``` -------------------------------- ### Docker Compose for Requestrr, Overseerr, and qBitrr Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/search/requestrr.md A complete Docker Compose setup for running Requestrr, Overseerr, and qBitrr together. This example includes basic environment variables and volume mappings. ```yaml version: '3.8' services: requestrr: image: thomst08/requestrr:latest container_name: requestrr environment: - TZ=America/New_York - REQUESTRR_PORT=4545 ports: - "4545:4545" volumes: - /path/to/requestrr/config:/root/config restart: unless-stopped overseerr: image: sctx/overseerr:latest container_name: overseerr environment: - LOG_LEVEL=info - TZ=America/New_York ports: - "5055:5055" volumes: - /path/to/overseerr/config:/app/config restart: unless-stopped qbitrr: image: feramance/qbitrr:latest container_name: qbitrr environment: - TZ=America/New_York volumes: - /path/to/qbitrr/config:/config depends_on: - overseerr restart: unless-stopped ``` -------------------------------- ### Download and run qBitrr binary Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/index.md Download the pre-built executable for Linux or macOS, make it executable, and then run it. This method does not require Python. ```bash # Linux/macOS curl -L -o qbitrr https://github.com/Feramance/qBitrr/releases/latest/download/qbitrr-linux-x64 chmod +x qbitrr ./qbitrr ``` -------------------------------- ### Create Users and Directories for Multiple qBitrr Instances Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/systemd.md Set up dedicated users, directories, and permissions for each qBitrr instance to ensure proper isolation and operation. ```bash # Movies instance sudo useradd -r -s /bin/bash -d /opt/qbitrr-movies -m qbitrr-movies sudo mkdir -p /opt/qbitrr-movies/{config,logs} sudo chown -R qbitrr-movies:qbitrr-movies /opt/qbitrr-movies # TV instance sudo useradd -r -s /bin/bash -d /opt/qbitrr-tv -m qbitrr-tv sudo mkdir -p /opt/qbitrr-tv/{config,logs} sudo chown -R qbitrr-tv:qbitrr-tv /opt/qbitrr-tv ``` -------------------------------- ### Docker Compose Example with Overseerr Integration Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/search/overseerr.md A complete Docker Compose setup demonstrating the integration of Overseerr and qBitrr services. This includes environment variables for configuring the Overseerr connection within qBitrr. ```yaml version: '3.8' services: overseerr: image: sctx/overseerr:latest container_name: overseerr environment: - LOG_LEVEL=info - TZ=America/New_York ports: - "5055:5055" volumes: - /path/to/overseerr/config:/app/config restart: unless-stopped qbitrr: image: feramance/qbitrr:latest container_name: qbitrr environment: - TZ=America/New_York # Overseerr integration via environment variables - QBITRR_RADARR_MOVIES__ENTRYSEARCH__OVERSEERR__SEARCHOVERSEERRQUESTS=true - QBITRR_RADARR_MOVIES__ENTRYSEARCH__OVERSEERR__OVERSEERRURI=http://overseerr:5055 - QBITRR_RADARR_MOVIES__ENTRYSEARCH__OVERSEERR__OVERSEERRAPIKEY=your-api-key - QBITRR_RADARR_MOVIES__ENTRYSEARCH__OVERSEERR__APPROVEDONLY=true - QBITRR_RADARR_MOVIES__ENTRYSEARCH__OVERSEERR__IS4K=false volumes: - /path/to/qbitrr/config:/config depends_on: - overseerr restart: unless-stopped ``` -------------------------------- ### Get qBitrr Version and Update State Source: https://context7.com/feramance/qbitrr/llms.txt Check the installed version against the latest available version and monitor update progress. Results are cached for 1 hour. A 'force=true' parameter can be used to refresh from GitHub. ```bash # Check for updates (results cached 1 hour) curl -H "Authorization: Bearer abc123" http://localhost:6969/api/meta # Force refresh from GitHub curl -H "Authorization: Bearer abc123" "http://localhost:6969/api/meta?force=true" ``` -------------------------------- ### Install qBitrr on macOS Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/binary.md Download qBitrr, make it executable, and optionally move it to /usr/local/bin. The first run may prompt a security check. ```bash curl -L -o ~/Downloads/qbitrr \ https://github.com/Feramance/qBitrr/releases/latest/download/qbitrr-macos-x64 chmod +x ~/Downloads/qbitrr sudo mv ~/Downloads/qbitrr /usr/local/bin/ ./qbitrr ``` -------------------------------- ### Install qBitrr using Pip Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/systemd.md Installs the qBitrr package using pip. Use the '-u qbitrr' flag to install for the dedicated qBitrr user, or omit it for a system-wide installation. ```bash sudo -u qbitrr pip install qBitrr2 ``` ```bash sudo pip install qBitrr2 ``` -------------------------------- ### Complete Tracker Configuration Example (qBit-level) Source: https://github.com/feramance/qbitrr/blob/master/docs/configuration/seeding.md This example demonstrates a comprehensive configuration for a specific tracker at the qBit level, which can be inherited by all Arr instances. It includes settings for priority, seeding requirements, rate limits, management options, hit-and-run protection, and tagging. ```toml [[qBit.Trackers]] # Tracker identification Name = "BeyondHD" Priority = 10 URI = "https://tracker.beyond-hd.me/announce" # Seeding requirements MaxUploadRatio = 1.0 MaxSeedingTime = 432000 # 5 days # Rate limits DownloadRateLimit = -1 UploadRateLimit = 5242880 # 5 MB/s # Tracker management AddTrackerIfMissing = false RemoveIfExists = false SuperSeedMode = false # Hit and Run protection HitAndRunMode = "and" MinSeedRatio = 1.0 MinSeedingTimeDays = 5 TrackerUpdateBuffer = 3600 # Tagging AddTags = ["BeyondHD", "private"] ``` -------------------------------- ### Complete Media Stack Docker Compose Example Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/docker.md A comprehensive docker-compose.yml file setting up qBittorrent, Radarr, Sonarr, and qBitrr with networking, volumes, ports, and restart policies. ```yaml version: "3.8" networks: media: driver: bridge services: qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent environment: - PUID=1000 - PGID=1000 - TZ=America/New_York - WEBUI_PORT=8080 volumes: - ./qbittorrent:/config - /mnt/storage/downloads:/downloads ports: - "8080:8080" - "6881:6881" - "6881:6881/udp" networks: - media restart: unless-stopped radarr: image: lscr.io/linuxserver/radarr:latest container_name: radarr environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./radarr:/config - /mnt/storage/downloads:/downloads - /mnt/storage/movies:/movies ports: - "7878:7878" networks: - media restart: unless-stopped sonarr: image: lscr.io/linuxserver/sonarr:latest container_name: sonarr environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./sonarr:/config - /mnt/storage/downloads:/downloads - /mnt/storage/tv:/tv ports: - "8989:8989" networks: - media restart: unless-stopped qbitrr: image: feramance/qbitrr:latest container_name: qbitrr environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./qbitrr:/config - /mnt/storage/downloads:/downloads ports: - "6969:6969" networks: - media depends_on: - qbittorrent - radarr - sonarr restart: unless-stopped ``` -------------------------------- ### Install Update API Error Response (Binary) Source: https://github.com/feramance/qbitrr/blob/master/docs/features/auto-updates.md An error response from the install update API when a binary installation is detected, requiring manual updates. ```json { "success": false, "error": "Binary installation detected - manual update required", "install_type": "binary" } ``` -------------------------------- ### PyPI/pip Installation Update (Specific Version) Source: https://github.com/feramance/qbitrr/blob/master/docs/features/auto-updates.md For PyPI/pip installations, this command installs a specific version of the `qBitrr2` package, ensuring exact version control. ```bash python -m pip install qBitrr2==5.4.3 ``` -------------------------------- ### Install Specific Python Version Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/pip.md Install a newer Python version on Ubuntu/Debian or macOS. Then, use that specific version to install qBitrr and run its main module. ```bash sudo apt install python3.12 # Ubuntu/Debian brew install python@3.12 # macOS ``` ```bash python3.12 -m pip install qBitrr2 ``` ```bash python3.12 -m qBitrr.main ``` -------------------------------- ### Install Update API Source: https://github.com/feramance/qbitrr/blob/master/docs/features/auto-updates.md Initiates the installation of an available update. ```APIDOC ## Install Update ### Description Initiates the installation of an available update. This should be called after confirming an update is available via the 'Check for Updates' API. ### Method POST ### Endpoint /api/install-update ### Request Example ```bash curl -X POST http://localhost:6969/api/install-update \ -H "Authorization: Bearer YOUR_TOKEN" ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the update installation was successful. - **message** (string) - A message detailing the outcome of the update process. - **new_version** (string) - The version that was installed, if successful. ### Response Example ```json { "success": true, "message": "Update completed successfully", "new_version": "5.4.3" } ``` ``` -------------------------------- ### Download and Run qBitrr on Linux Source: https://github.com/feramance/qbitrr/blob/master/docs/getting-started/installation/binary.md Download the latest release, make the binary executable, and run qBitrr. ```bash # Download latest release curl -L -o qbitrr https://github.com/Feramance/qBitrr/releases/latest/download/qbitrr-linux-x64 # Make executable chmod +x qbitrr # Run ./qbitrr ```