Feramance / qBitrr

A simple Python script to talk to qBittorrent and Arr's
MIT License
61 stars 2 forks source link

qBitrr qBitrr

PyPI - License PyPI Downloads Pulls

PyPI - Python Version Platforms

pre-commit.ci status CodeQL Create a Release Nightly Build

Code Style: Black Imports: isort

A simple script to monitor qBit and communicate with Radarr and Sonarr

Notice

I am starting development on qBitrr+ which will be C# based for better overall performance and will also include a WebUI for better refined control on setting and what to search/upgrade etc. Hoping this will be the be all and end all application to manage your Radarr/Sonarr, Overseerr/Ombi and qBittorrent instances in one UI. This is still in it's very early stages and will likely be a couple months before a concrete alpha is rolled out (from start of February 2024). Once I have something solid I will remove this notice and add a link to the new qBitrr+, in the meantime I will be sharing periodic updates on my Patreon

Features

Tested with

Some things to know before using it.

Usage

Native

Alternatively:

Run the script

  1. Activate your venv
  2. Run qBitrr2 to generate a config file
  3. Edit the config file (located at ~/config/config.toml (~ is your current directory)
  4. Run qBitrr2 if installed through pip again to start the script

Alternatively:

  1. Unzip the downloaded release and run it
  2. Run qBitrr to generate a config file
  3. Edit the config file (located at ~/config/config.toml (~ is your current directory)
  4. Run qBitrr if installed through pip again to start the script

How to update the script

  1. Activate your venv
  2. Run python -m pip install -U qBitrr2

Alternatively:

  1. Download on the latest release
  2. Unzip the downloaded release and run it
  3. Run qBitrr to generate a config file
  4. Edit the config file (located at ~/config/config.toml (~ is your current directory)
  5. Run qBitrr if installed through pip again to start the script

There is no auto-update feature, you will need to manually download the latest release and replace the old one.

Docker

Docker Image

Docker Run

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

Docker Compose

version: "3"
services:
  qbitrr:
    image: feramance/qbitrr:latest
    user: 1000:1000 # Required to ensure the container is run as the user who has perms to see the 2 mount points and the ability to write to the CompletedDownloadFolder mount
    tty: true # Ensure the output of docker-compose logs qBitrr are properly colored.
    restart: unless-stopped
    # networks: This container MUST share a network with your Sonarr/Radarr instances
    environment:
      - TZ=Europe/London
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /path/to/appdata/qbitrr:/config  # Config folder for qBitrr
      - /path/to/completed/downloads/folder:/completed_downloads:rw # The script will ALWAYS require write permission in this folder if mounted, this folder is used to monitor completed downloads and if not present will cause the script to ignore downloaded file monitoring.
      # Now just to make sure it is clean, when using this script in a docker you will need to ensure you config.toml values reflect the mounted folders.
      # The same would apply to Settings.CompletedDownloadFolder
      # e.g CompletedDownloadFolder = /completed_downloads/folder/in/container

    logging: # this script will generate a LOT of logs - so it is up to you to decide how much of it you want to store
      driver: "json-file"
      options:
        max-size: "50m"
        max-file: 3
    depends_on: # Not needed but this ensures qBitrr only starts if the dependencies are up and running
      - qbittorrent
      - radarr-1080p
      - radarr-4k
      - sonarr-1080p
      - sonarr-anime
      - overseerr
      - ombi
Important mentions for docker

Feature Suggestions

Please do not hesitate to open an issue for feature requests or any suggestions you may have. I plan on periodically adding any features I might feel I want to add but welcome to other suggestions I might not have thought of yet.

Reporting an Issue

When reporting an issue, please ensure that log files are enabled while running qBitrr and attach them to the issue. Thank you.