With a whole slew of new reasons on why subscribing to streaming services WILL give you worse services than NOT subscribing to them, i think it's time to write a new up-to-date guide on how to install and configure an Arr-Stack + qBitTorrent via Docker-Compose.
0. Preamble
I specifically did NOT route all those docker-compose files through a VPN container like Gluetun. In my case i have my Mullvad VPN setup on my router directly and selected the whole server to be tunneled through that VPN.
You can add a VPN container to your setup and route all the docker compose files through that. But i will not go through this on this guide. There are guides out there how to do that and you can even ask any big enough LLM as this isn't really that complicated.
1. Folder Structure
If you want to store all your media on a NAS or some other external drive, make sure it is configured properly for symlinking / hardlinking and that you have proper permissions for this storage. Everything here will run with the 1000 user and has to create new files to work.
So this is the folder structure i use. And it is stored on a NFS-Share coming from my TrueNAS.
arr-stack (for this example let's say it's located in /mnt/arr-stack)
|---- media
|---- movies
|---- shows
|---- music
|---- etc.
|---- configs
|---- radarr
|---- sonarr
|---- qbittorrent
|---- etc.
|---- torrents
|---- complete
I intentionally broke out the torrent folder to make it easier accessible for when you download something fully manual and you want to grab it out of the 'completed' folder without searching too deep.
2. Docker-Compose Files for each service
qBitTorrent is the download application for Usenet. Alternatively you can use NZBget but i find Sab to be more modern, versatile and i just like it.
qBitTorrent
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- WEBUI_PORT=8081
volumes:
- /mnt/arr-stack/configs/qbittorrent/config:/config
- /mnt/arr-stack/torrents/complete:/downloads
ports:
- 8081:8081
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
networks: {}
Radarr and Sonarr are the applications that will actually find and track your Movies (Radarr) and Shows (Sonarr). Additionally there is Lidarr for Music and Whisparr for porn.
Radarr
version: "3.3"
services:
arch-radarr:
ports:
- 7878:7878
container_name: radarr
volumes:
- /mnt/arr-stack:/mnt/arr-stack
- /mnt/arr-stack/configs/radarr:/config
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000
image: binhex/arch-radarr
restart: unless-stopped
networks: {}
Sonarr
version: "3.3"
services:
arch-sonarr:
ports:
- 8989:8989
- 9897:9897
container_name: sonarr
volumes:
- /mnt/arr-stack:/mnt/arr-stack
- /mnt/arr-stack/configs/sonarr:/config
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000
image: binhex/arch-sonarr
restart: unless-stopped
networks: {}
Prowlarr is the application where you can configure your usenet sites. There you will put in the URLs of your Indexers like Drunkenslug and your API keys for those sites. Prowlarr will periodically check the availability of those services and will sync these accounts to all your connected services (Radarr, Sonarr, Lidarr, Whisparr, etc.). Prowlarr will then be doing the actual heavy lifting of accessing the API of any Usenet and search for your stuff.
Prowlarr
version: "3.3"
services:
arch-prowlarr:
ports:
- 9696:9696
container_name: prowlarr
volumes:
- /mnt/arr-stack/configs/prowlarr:/config
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000
image: binhex/arch-prowlarr
restart: unless-stopped
networks: {}
3. Configuring each service
Now that we have all these Services up and running. It's time to properly configure them. Let's start with qBitTorrent
3.1 qBitTorrent
- Click on "Tools" in the menu bar
- Click on Options
- Click on Web Ui
- Under "Authentification" change your Username and Password
- Click on Save at the bottom
3.2 Sonarr
- Click on Settings
Root Folder
- Click on "Media Management"
- Under Root Folders, add /mnt/arr-stack/media/shows
Connect qBitTorrent
- Click on "Download Clients"
- Click on the big PLUS icon
- Select qBitTorrent
- Enter the IP Adress of your server
- Port: 8081
- Enter your username and passwort from earlier
- Under Category enter tv
- Check "Remove Completed"
- Click on Test and Save
Grab your API Token
- Click on General
- Copy API Key and save it for later. We need it for Prowlarr
3.3 Radarr
- Click on Settings
Root Folder
- Click on "Media Management"
- Under Root Folders, add /mnt/arr-stack/media/movies
Connect qBitTorrent
- Click on "Download Clients"
- Click on the big PLUS icon
- Select qBitTorrent
- Enter the IP Adress of your server
- Port: 8081
- Enter your username and passwort from earlier
- Under Category enter tv
- Check "Remove Completed"
- Click on Test and Save
Grab your API Token
- Click on General
- Copy API Key and save it for later. We need it for Prowlarr
The same procedure goes for Lidarr and Whisparr aswell with their respective categories changed.
3.4 Prowlarr
- Click on Settings
Connect Sonarr and Radarr
- Click on Apps
- Click on the big Plus Icon
- Click on Sonarr
- Sync Level "Full Sync"
- Tags: none
- Prowlarr Server: http://localhost:9696
- Sonarr Server: http://ipofyourserver:8989
- API Key from Sonarr
- Test and Save
- Rinse and Repeat for Radarr with adjusted infos
Add Indexers
- Click on Indexers
- Click on Add Indexer
- Type in the name of your indexer. Many of the big ones will be pre configures
- Example: The Pirate Bay
- Click on the entry
- Check "Enable"
- Sync Profile "Standard"
- Under Base URL select the first one (you may have to cycle through if one of them doesn't work)
- Enter your Seed Ratio
- Test and Save
Prowlarr will now test and sync the indexers to your other apps like Sonarr and Radarr. Manually click on Test all Inders and then on Sync all Indexers. Now go back to Sonarr and Radarr and click on Settings -> Indexers and check if Drunkenslug (in our example) shows up there.
4. You're done
Now this is obviously just the tip of the iceberg. You still don't have "finetuned" profiles and explaining these would absolutely blow up the scope of this post.
You should absolutely check out https://trash-guides.info/ as it is an absolute goldmine of infos.
So, these are the basics and there is much more to finetune. But as soon as you have an invite and registered for a host you absolutey are ready to go sailing on the high seas!
Here is an alternate guide on how to set it up for Usenet Downloads: https://lemmy.dbzer0.com/post/26287096
So awesome, I'm am just about to jump into this so you had perfect timing posting this
Thank you!
Happy to hear!
I updated the guides to include a link to my next guide: Jellyfin + Jellyseer in junction with sonarr / radarr. Make sure to refresh the page :)