Qbittorrent cleaner that deletes torrents based on age, categories, domains and tags.
Go to file
jblu d15cc8d95c
All checks were successful
continuous-integration/drone/push Build is passing
updated healthchecks to support starting and stopping a job
2024-06-03 20:32:57 -05:00
.dockerignore updated testing 2023-06-27 12:43:10 -05:00
.drone.yml updated healthchecks to support starting and stopping a job 2024-06-03 20:32:57 -05:00
.gitignore added docker support 2023-06-04 13:05:26 -05:00
AppriseClient.py added docker support 2023-06-04 13:05:26 -05:00
config.toml.example Fixed #58 2023-09-12 13:04:38 -05:00
Dockerfile migrated to supercronic 2023-06-23 04:02:05 -05:00
entrypoint.sh migrated to supercronic 2023-06-23 04:02:05 -05:00
LICENSE added docker support 2023-06-04 13:05:26 -05:00
pushover.py added docker support 2023-06-04 13:05:26 -05:00
qbit-maid.py updated healthchecks to support starting and stopping a job 2024-06-03 20:32:57 -05:00
qlist.py updated unit tests and fixed a bug 2023-09-20 00:18:26 -05:00
qlogging.py updated healthchecks to support starting and stopping a job 2024-06-03 20:32:57 -05:00
qprocess.py Updated test cases 2023-10-04 15:03:11 -05:00
README.md Updated documentation 2023-10-05 08:24:28 -05:00
requirements.txt added docker support 2023-06-04 13:05:26 -05:00
test_qbitmaid.py updated healthchecks to support starting and stopping a job 2024-06-03 20:32:57 -05:00
test_write_csv.py updated healthchecks to support starting and stopping a job 2024-06-03 20:32:57 -05:00

qbit-maid

Warning: This application removes torrents that are over the minimum age and that are not part of the ignored categories, domains or tags. Please use the delete_torrents feature set to false when first testing its functionality.

Build Status

The objective is to remove torrents based on the following criteria:

  • tracker domain name
  • age
  • ratio
  • state

Install

Docker(Recommended)

package

docker pull git.jonb.io/jblu/qbit-maid:latest

Docker Run Command:

Please note it is best practice to escape spaces in variables. That is why there is backslashes in the cron schedule.

docker run --name qbit-maid -v /opt/qbit-maid:/config/ -e CRON=0\ 1\ *\ *\ * -e toml_path=/config/config.toml git.jonb.io/jblu/qbit-maid

Docker Compose

version: '3.3'
services:
    qbit-maid:
        image: git.jonb.io/jblu/qbit-maid
        container_name: qbit-maid
        volumes:
            - /opt/qbit-maid:/config
        environment:
            - CRON="0 1 * * *"
            - toml_path=/config/config.toml

Via Git

git clone https://git.jonb.io/jblu/qbit-maid.git

Qbit-maid will look for an environment variable toml_path for its configuration.If it doesn't find it, it will look for a config.toml file in it's own directory.

config.toml
[qbittorrent]
host = "192.168.x.x"
port = 8080
username = "user"
password = "pass"

[logging]
use_log = true
log_level = "INFO"
log_path = "./qc.log"

[app_tags]
protected_tag = "ipt"
non_protected_tag = "public"

[torrent]
age = 2419200
minimum_age = 432000
delete_torrents = false

[pushover]
use_pushover = false
po_key = "<key>>"
po_token = "<token>>"

[apprise]
use_apprise = false
host = "192.168.x.x"
port = 8088
aurls = 'mailto://user:pass@gmail.com'

[dragnet]
enable_dragnet = false
dragnet_outfile = "./orphaned.csv"

[telemetry]
enable_telemetry = false
telemetry_outfile = "./telemetry.csv"

[ignored_categories]
tech = "tech"
books = "books"
general = "general"

[ignored_domains]
iptorrents-empirehost = "ssl.empirehost.me"
iptorrents-stackoverflow = "localhost.stackoverflow.tech"
iptorrents-bgp = "routing.bgp.technology"

[ignored_tags]
save = "save"

[healthcheck]
use_healthcheck = false
healthcheck_url = "https://example.com/ping/<uuid>>"