Package: qBitrr
A simple script to monitorQbitand communicate withRadarrandSonarrJoin theOfficial Discord Serverfor help.FeaturesMonitor qBit for Stalled/bad entries and delete them then blacklist them on Arrs (Option to also trigger a re-search action).Monitor qBit for completed entries and tell the appropriate Arr instance to import it ( 'DownloadedMoviesScan' or 'DownloadedEpisodesScan' commands).Skip files in qBit entries by extension, folder or regex.Monitor completed folder and cleans it up.Usesffprobeto ensure downloaded entries are valid media.Trigger periodic Rss Syncs on the appropriate Arr instances.Trigger Queue update on appropriate Arr instances.Search requests fromOverseerrorOmbi.Auto add/remove trackersSet per tracker valuesThis section requires the Arr databases to be locally available.Monitor Arr's databases to trigger missing episode searches.Customizable year range to search for (at a later point will add more option here, for example search whole series/season instead of individual episodes, search by name, category etc).Important mentionsSome things to know before using it.Qbitrr works best with qBittorrent 4.3.9You need to run theqbitrr --gen-configmove the generated file to~/.config/qBitManager/config.toml(~ is your home directory, i.eC:\Users\{User})I haveSonarrandRadarrboth setup to add tags to all downloads.I have qBit setup to have to create sub-folder for downloads and for the download folder to
use subcategories.Install the requirements runpython -m pip install qBitrr(I would recommend in a dedicatedvenvbut that's out of scope.Alternatively:Download on thelatest releaseRun the scriptMake sure to update the settings in~/.config/qBitManager/config.tomlActivate your venvRunqbitrrAlternatively:Unzip the downloaded release and run itHow to update the scriptActivate your venvRunpython -m pip install -U qBitrrAlternatively:Download on thelatest releaseContributionsI'm happy with any PRs and suggested changes to the logic I just put it together dirty for my own use case.Example behaviourDocker ImageThe docker image can be foundhereDocker Composeversion:"3"services:qbitrr:image:qbitrruser:1000:1000#Requiredtoensuretehcontainerisrunastheuserwhohaspermstoseethe2mountpointsandtheabilitytowritetotheCompletedDownloadFoldermounttty:true#Ensuretheoutputofdocker-composelogsqbitrrareproperlycolored.restart:unless-stopped#networks:ThiscontainerMUSTshareanetworkwithyourSonarr/Radarrinstancesenviroment:TZ:Europe/Londonvolumes:-/etc/localtime:/etc/localtime:ro-/path/to/appdata/qbitrr:/config#Allqbitrrfilesarestoredinthe`/config`folderwhenusingadockercontainer-/path/to/sonarr/db:/sonarr.db/path/in/container:ro#Thisisonlyneededifyouwantepisodesearchhandling:romeansitisonlyevermountedasaread-onlyfolder,thescriptneverneedsmorethanreadaccess-/path/to/radarr/db:/radarr.db/path/in/container:ro#Thisisonlyneededifyouwantmoviesearchhandling,:romeansitisonlyevermountedasaread-onlyfolder,thescriptneverneedsmorethanreadaccess-/path/to/completed/downloads/folder:/completed_downloads/folder/in/container:rw#ThescriptwillALWAYSrequirewritepermissioninthisfolderifmounted,thisfolderisusedtomonitorcompleteddownloadsandifnotpresentwillcausethescripttoignoredownloadedfilemonitoring.#Nowjusttomakesureitisclean,whenusingthisscriptinadockeryouwillneedtoensureyouconfig.tomlvaluesreflectthemountedfolders.##Forexample,foryourSonarr.DatabaseFilevalueusingthevaluesaboveyou'dadd#DatabaseFile=/sonarr.db/path/in/container/sonarr.db#Becausethisiswhereyoumounteditto#ThesamewouldapplytoSettings.CompletedDownloadFolder#e.gCompletedDownloadFolder=/completed_downloads/folder/in/containerlogging:#thisscriptwillgenerateaLOToflogs-soitisuptoyoutodecidehowmuchofityouwanttostoredriver:"json-file"options:max-size:"50m"max-file:3depends_on:#NotneededbutthisensuresqBitrronlystartsifthedependenciesareupandrunning-qbittorrent-radarr-1080p-sonarr-1080p-animarr-1080p-overseerrImportant mentions for dockerThe script will always expect a completed config.toml fileWhen you first start the container a "config.rename_me.toml" will be added to/path/to/appdata/qbitrrMake sure to rename it to 'config.toml' then edit it to your desired values