Skip to main content

Intelligent automation for qBittorrent and *Arr apps (Radarr/Sonarr/Lidarr) - health monitoring, instant imports, quality upgrades, request integration

Project description

qBitrr Logo qBitrr

PyPI Downloads Docker Pulls CodeQL Nightly Build pre-commit.ci License: MIT

🧩 The intelligent glue between qBittorrent and the *Arr ecosystem (Radarr, Sonarr, Lidarr). Monitors torrent health, triggers instant imports, automates quality upgrades, manages disk space, integrates with request systems (Overseerr/Ombi), and provides a modern React dashboard for complete visibility and control.

📚 Documentation

Full documentation is available at: https://feramance.github.io/qBitrr/

  • Getting Started – Installation guides for pip, Docker, and native setups
  • Configuration – qBittorrent, Arr instances, quality profiles, and more
  • Features – Health monitoring, automated search, quality management, disk space, auto-updates
  • WebUI – Built-in React dashboard with live monitoring and config editor
  • Troubleshooting – Common issues and debug logging
  • API Reference – REST API documentation

⚡ Quick Start

🐍 Install with pip

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install qBitrr2

# First run creates ~/config/config.toml
qbitrr

🐳 Run with Docker

docker run -d \
  --name qbitrr \
  --tty \
  -e TZ=Europe/London \
  -p 6969:6969 \
  -v /path/to/appdata/qbitrr:/config \
  -v /path/to/completed/downloads:/completed_downloads:rw \
  --restart unless-stopped \
  feramance/qbitrr:latest

Docker Compose:

services:
  qbitrr:
    image: feramance/qbitrr:latest
    container_name: qbitrr
    restart: unless-stopped
    tty: true
    environment:
      TZ: Europe/London
    ports:
      - "6969:6969"
    volumes:
      - /path/to/appdata/qbitrr:/config
      - /path/to/completed/downloads:/completed_downloads:rw

Access the WebUI at http://<host>:6969/ui after startup.

✨ Key Features

  • 🚀 Multi-qBittorrent Support (v5.7.x+) – Manage torrents across multiple qBittorrent instances for load balancing, redundancy, and VPN isolation
  • 🚑 Torrent Health Monitoring – Detect stalled/failed downloads, auto-blacklist, trigger re-searches
  • 🔍 Automated Search – Missing media, quality upgrades, custom format scoring
  • 🎯 Request Integration – Pull requests from Overseerr/Ombi, prioritize user-requested media
  • 📊 Quality Management – RSS sync, queue refresh, profile switching, custom format enforcement
  • 🌱 Seeding Control – Per-tracker settings, ratio/time limits, tracker injection
  • 🛡️ Hit and Run Protection – Automatic HnR obligation tracking with configurable thresholds, partial download handling, and dead tracker bypass
  • 💾 Disk Space Management – Auto-pause when low on space, configurable thresholds
  • 🔄 Auto-Updates – GitHub release-based updates with scheduled cron support
  • 💻 Modern WebUI – Live process monitoring, log viewer, Arr insights, config editor

🛠️ Essential Configuration

  1. Configure qBittorrent in ~/config/config.toml:

    [qBit]
    Host = "localhost"
    Port = 8080
    UserName = "admin"
    Password = "adminpass"
    
  2. Add Arr instances:

    [Radarr-Movies]
    URI = "http://localhost:7878"
    APIKey = "your-radarr-api-key"
    Category = "radarr-movies"
    
  3. Set completed folder:

    [Settings]
    CompletedDownloadFolder = "/path/to/completed"
    

🆕 Multi-qBittorrent (v5.7.x+)

Manage torrents across multiple qBittorrent instances:

[qBit]  # Default instance (required)
Host = "localhost"
Port = 8080
UserName = "admin"
Password = "password"

[qBit-seedbox]  # Additional instance (optional)
Host = "192.168.1.100"
Port = 8080
UserName = "admin"
Password = "seedboxpass"

See Multi-qBittorrent Guide for complete documentation.


See Configuration Guide and config.example.toml for all available options.

📖 Resources

🐛 Issues & Support

🤝 Contributing

Contributions welcome! See docs/development/contributing.md for coding guidelines and development setup.

Development setup:

# Python backend
make newenv && make syncenv
make reformat  # Format and lint

# WebUI
cd webui && npm ci
npm run dev    # Dev server at localhost:5173

❤️ Support

If qBitrr saves you time and headaches:

  • Star the repo – helps others discover qBitrr
  • 💰 Sponsor: Patreon | PayPal

📄 License

Released under the MIT License. Use it, modify it, share it—commercially or personally.


Made with ❤️ by the qBitrr community

DocumentationPyPIDockerGitHub

Star History

Star History Chart

Project details


Release history Release notifications | RSS feed

This version

5.9.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qbitrr2-5.9.2.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qbitrr2-5.9.2-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file qbitrr2-5.9.2.tar.gz.

File metadata

  • Download URL: qbitrr2-5.9.2.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qbitrr2-5.9.2.tar.gz
Algorithm Hash digest
SHA256 bcdd8e0cfe08cb006bc499d674777ae7866be71786fc75d733bd709686a691ab
MD5 93bd7c451a6973811ca98213e4a76973
BLAKE2b-256 1451e9cdc3418f1f7edb4df73925d39e63fbdca4983fb0215b9c6f4fe0934f20

See more details on using hashes here.

File details

Details for the file qbitrr2-5.9.2-py3-none-any.whl.

File metadata

  • Download URL: qbitrr2-5.9.2-py3-none-any.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qbitrr2-5.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c53a11b8486a5db25ec020cddd9d9cc4b4826310750ee2257a64176fb14f2e6c
MD5 b8172e595ee9179f01bf3126c0c1273f
BLAKE2b-256 7f8b8bec5557b7883b1406952c6140e3732378f2b9427660c9c0b48fcd2a7c95

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page