From b751fa5c5adadf232efa922f1455d72ac3e2c02d Mon Sep 17 00:00:00 2001 From: Rik Veenboer Date: Sat, 22 Nov 2025 19:41:54 +0100 Subject: [PATCH] configure media download stack --- caddy/Caddyfile | 1 + compose.jackett.yaml | 2 +- compose.prowlarr.yaml | 20 +++++++ compose.qbittorrent.yaml | 2 +- compose.radarr.yaml | 4 +- compose.sonarr.yaml | 8 ++- compose.transmission.yaml | 2 +- compose.yaml | 1 + prowlarr/.gitignore | 6 ++ prowlarr/config.xml | 18 ++++++ qbittorrent/.gitignore | 9 +-- qbittorrent/categories.json | 14 +++++ qbittorrent/qBittorrent-data.conf | 2 + qbittorrent/qBittorrent/qBittorrent.conf | 55 ------------------- .../categories.json => rss/feeds.json} | 0 .../{qBittorrent => }/watched_folders.json | 0 16 files changed, 79 insertions(+), 65 deletions(-) create mode 100644 compose.prowlarr.yaml create mode 100644 prowlarr/.gitignore create mode 100644 prowlarr/config.xml create mode 100644 qbittorrent/categories.json create mode 100644 qbittorrent/qBittorrent-data.conf delete mode 100644 qbittorrent/qBittorrent/qBittorrent.conf rename qbittorrent/{qBittorrent/categories.json => rss/feeds.json} (100%) rename qbittorrent/{qBittorrent => }/watched_folders.json (100%) diff --git a/caddy/Caddyfile b/caddy/Caddyfile index ee3dc02..9b25b51 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -38,6 +38,7 @@ import protected sonarr host:18989 import protected radarr host:17878 import protected bazarr host:16767 import protected jackett host:9117 +import protected prowlarr host:9696 import protected dagster host:3000 import protected photoprism host:2342 import protected qbittorrent host:9092 diff --git a/compose.jackett.yaml b/compose.jackett.yaml index fdddacf..59cdb08 100644 --- a/compose.jackett.yaml +++ b/compose.jackett.yaml @@ -8,7 +8,7 @@ services: external_links: - transmission - qbittorrent - image: linuxserver/jackett:0.22.1283 + image: linuxserver/jackett:0.24.339 ports: - 9117:9117 restart: unless-stopped diff --git a/compose.prowlarr.yaml b/compose.prowlarr.yaml new file mode 100644 index 0000000..40585a4 --- /dev/null +++ b/compose.prowlarr.yaml @@ -0,0 +1,20 @@ +services: + prowlarr: + image: linuxserver/prowlarr:2.3.0 + container_name: prowlarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /opt/prowlarr:/config/prowlarr + ports: + - 9696:9696 + restart: unless-stopped + extra_hosts: + - transmission:192.168.2.200 + - qbittorrent:192.168.2.200 + - jackett:192.168.2.200 + - radarr:192.168.2.200 + - sonarr:192.168.2.200 + - lidarr:192.168.2.200 diff --git a/compose.qbittorrent.yaml b/compose.qbittorrent.yaml index 6edf638..6faaf7e 100644 --- a/compose.qbittorrent.yaml +++ b/compose.qbittorrent.yaml @@ -12,5 +12,5 @@ services: network_mode: service:surfshark restart: unless-stopped volumes: - - /opt/qbittorrent:/config + - /opt/qbittorrent:/config/qBittorrent - /media/scratch/qbittorrent:/downloads diff --git a/compose.radarr.yaml b/compose.radarr.yaml index e8481fe..eedcfc8 100644 --- a/compose.radarr.yaml +++ b/compose.radarr.yaml @@ -1,7 +1,7 @@ services: radarr: container_name: radarr - image: linuxserver/radarr:5.14.0 + image: linuxserver/radarr:6.0.4 environment: - PUID=1000 - PGID=1000 @@ -12,6 +12,8 @@ services: extra_hosts: - transmission:192.168.2.200 - qbittorrent:192.168.2.200 + - jackett:192.168.2.200 + - prowlarr:192.168.2.200 ports: - 17878:7878 restart: unless-stopped diff --git a/compose.sonarr.yaml b/compose.sonarr.yaml index 1ec5bdc..a63f038 100644 --- a/compose.sonarr.yaml +++ b/compose.sonarr.yaml @@ -1,6 +1,6 @@ services: sonarr: - image: linuxserver/sonarr:4.0.14 + image: linuxserver/sonarr:4.0.16 container_name: sonarr environment: - PUID=1000 @@ -10,10 +10,14 @@ services: - transmission extra_hosts: - transmission:192.168.2.200 + - qbittorrent:192.168.2.200 + - jackett:192.168.2.200 + - prowlarr:192.168.2.200 ports: - 18989:8989 restart: unless-stopped volumes: - /opt/sonarr:/config - - /media/scratch/transmission:/downloads + - /media/scratch/transmission:/downloads/transmission + - /media/scratch/qbittorrent:/downloads/qbittorrent - /mnt/yotta/krypton/Shows:/tv diff --git a/compose.transmission.yaml b/compose.transmission.yaml index c92d8d5..6f0affa 100644 --- a/compose.transmission.yaml +++ b/compose.transmission.yaml @@ -13,4 +13,4 @@ services: volumes: - /opt/transmission:/config - /media/scratch/torrents:/watch - - /media/scratch/transmission:/downloads + - /media/scratch/transmission:/downloads/transmission diff --git a/compose.yaml b/compose.yaml index 60fea5f..1df306a 100644 --- a/compose.yaml +++ b/compose.yaml @@ -25,6 +25,7 @@ include: # Download - compose.jackett.yaml + - compose.prowlarr.yaml - compose.transmission.yaml - compose.qbittorrent.yaml diff --git a/prowlarr/.gitignore b/prowlarr/.gitignore new file mode 100644 index 0000000..31d9926 --- /dev/null +++ b/prowlarr/.gitignore @@ -0,0 +1,6 @@ +asp/ +data/ +Definitions/ +logs/ +Sentry/ + diff --git a/prowlarr/config.xml b/prowlarr/config.xml new file mode 100644 index 0000000..0cea4e0 --- /dev/null +++ b/prowlarr/config.xml @@ -0,0 +1,18 @@ + + * + 9696 + 6969 + False + True + 6036de33973545429bc3c8a9aa825071 + Forms + DisabledForLocalAddresses + master + debug + + + + Prowlarr + Docker + False + \ No newline at end of file diff --git a/qbittorrent/.gitignore b/qbittorrent/.gitignore index e029878..5a191aa 100644 --- a/qbittorrent/.gitignore +++ b/qbittorrent/.gitignore @@ -1,4 +1,5 @@ -qBittorrent/GeoDB -qBittorrent/lockfile -qBittorrent/rss -qBittorrent/qBittorrent-data.conf +GeoDB/ +lockfile +rss/ +qBittorrent-data.conf +BT_backup diff --git a/qbittorrent/categories.json b/qbittorrent/categories.json new file mode 100644 index 0000000..8db0714 --- /dev/null +++ b/qbittorrent/categories.json @@ -0,0 +1,14 @@ +{ + "prowlarr": { + "save_path": "" + }, + "radarr": { + "save_path": "" + }, + "sonarr": { + "save_path": "" + }, + "tv-sonarr": { + "save_path": "" + } +} diff --git a/qbittorrent/qBittorrent-data.conf b/qbittorrent/qBittorrent-data.conf new file mode 100644 index 0000000..fb48d2f --- /dev/null +++ b/qbittorrent/qBittorrent-data.conf @@ -0,0 +1,2 @@ +[Stats] +AllStats=@Variant(\0\0\0\x1c\0\0\0\x2\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0\x44\0L\0\0\0\x4\0\0\0\x1r\xb3\xda@\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0\0\0(\x11\x1d\xed) diff --git a/qbittorrent/qBittorrent/qBittorrent.conf b/qbittorrent/qBittorrent/qBittorrent.conf deleted file mode 100644 index 61968ae..0000000 --- a/qbittorrent/qBittorrent/qBittorrent.conf +++ /dev/null @@ -1,55 +0,0 @@ -[Application] -FileLogger\Age=1 -FileLogger\AgeType=1 -FileLogger\Backup=true -FileLogger\DeleteOld=true -FileLogger\Enabled=true -FileLogger\MaxSizeBytes=66560 -FileLogger\Path=/config/qBittorrent/logs - -[AutoRun] -enabled=false -program= - -[BitTorrent] -Session\AddTorrentStopped=false -Session\DefaultSavePath=/downloads/ -Session\ExcludedFileNames= -Session\Port=6881 -Session\QueueingSystemEnabled=true -Session\SSL\Port=48200 -Session\ShareLimitAction=Stop -Session\TempPath=/downloads/incomplete/ - -[Core] -AutoDeleteAddedTorrentFile=Never - -[LegalNotice] -Accepted=true - -[Meta] -MigrationVersion=8 - -[Network] -Cookies=@Invalid() -PortForwardingEnabled=false -Proxy\HostnameLookupEnabled=false -Proxy\Profiles\BitTorrent=true -Proxy\Profiles\Misc=true -Proxy\Profiles\RSS=true - -[Preferences] -Connection\PortRangeMin=6881 -Connection\UPnP=false -Downloads\SavePath=/downloads/ -Downloads\TempPath=/downloads/incomplete/ -General\Locale=en -MailNotification\req_auth=true -WebUI\Address=* -WebUI\Password_PBKDF2="@ByteArray(lj/lkPqF1eQSvo0TpEAAJg==:FCI7qC/eMj8z19HCLfbVsa26Pjap0WX8bGaL+j7eeuM5cJTxkVXuWrGndRhzLyY4jKiroTleQiz3me/xi1nCrg==)" -WebUI\Port=9092 -WebUI\ServerDomains=* - -[RSS] -AutoDownloader\DownloadRepacks=true -AutoDownloader\SmartEpisodeFilter=s(\\d+)e(\\d+), (\\d+)x(\\d+), "(\\d{4}[.\\-]\\d{1,2}[.\\-]\\d{1,2})", "(\\d{1,2}[.\\-]\\d{1,2}[.\\-]\\d{4})" diff --git a/qbittorrent/qBittorrent/categories.json b/qbittorrent/rss/feeds.json similarity index 100% rename from qbittorrent/qBittorrent/categories.json rename to qbittorrent/rss/feeds.json diff --git a/qbittorrent/qBittorrent/watched_folders.json b/qbittorrent/watched_folders.json similarity index 100% rename from qbittorrent/qBittorrent/watched_folders.json rename to qbittorrent/watched_folders.json