Hey there, I’m a newbie when it comes to self-hosting and working with Docker. I’m looking to route traffic from a couple of my Docker containers (specifically, qBittorrent and Prowlarr) through a Wireguard container that’s hooked up to Mullvad. Any tips on how to set this up?
Here is my compose file:
version: "3.7"
services:
prowlarr:
container_name: prowlarr
image: ghcr.io/hotio/prowlarr
ports:
- "9696:9696"
environment:
- PUID=1000
- PGID=1000
- UMASK=002
- TZ=ETC/GMT
volumes:
- '/home/${USER}/server/configs/prowlarr:/config'
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=ETC/GMT
volumes:
- '/home/${USER}/server/configs/sonarr:/config'
- '/home/${USER}/server:/data'
ports:
- 8989:8989
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=ETC/GMT
volumes:
- '/home/${USER}/server/configs:/config'
- '/home/${USER}/server:/data'
ports:
- 7878:7878
restart: unless-stopped
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=ETC/GMT
volumes:
- '/home/${USER}/server/configs/jellyfin:/config'
- '/home/${USER}/server/media:/data/media'
ports:
- 8096:8096
restart: unless-stopped
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- WEBUI_PORT=8080
volumes:
- '/home/${USER}/server/configs/qflood:/config'
- '/home/${USER}/server/torrents:/data/torrents'
ports:
- 8080:8080
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
I followed this dude’s tutorial and my setup is working flawlessly: https://youtu.be/xbSfaKwyfXE?feature=shared
In Gluetun’s wiki, they have a section that covers most vpn providers, and has a section that gives you an example docker compose: https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/mullvad.md
I have a very similar setup to yours with just qbittorrent running through Gluetun via Mullvad. It’s working perfectly and pretty easy to connect additional containers. Fair warning tho, each time you ad a new container you need to redo the network setting for your previous containers in portainer for some reason, idk why but that took me a while to figure out lol
Here is an alternative Piped link(s):
https://youtu.be/xbSfaKwyfXE?feature=shared
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source; check me out at GitHub.
Thank you so much! I managed to get it working. However, I’m not sure now how to establish communication between Sonarr/Radarr/etc and Prowlarr, as well as the reverse.
If you’re talking about the *arr apps connecting to qBT, there should be a setting in each app called connections or something that let you add an api key so they can talk with the download manager, as well as Prowlarr
This might be a bit much, depending on your experience with docker and bash, but I uae this framework/platform to selfhost many apps and services, and qbittorrent via wireguard (using mullvad) is one of them: d.rymcg.tech
That link is to the main page of the project, which explains how to set up and use the framework/platform. From that page, you can get to the qbit torrent-wireguard app, or here is a direct link: d.rymcg.tech/qbittorrent-wireguard.
Once you get used to the platform, it’s quite easy to use, very customizable and versatile, and follows good philosophy of seperating your data from the app. And while it may be more advanced than you’re looking for, it’s very well documented, making it pretty easy to just follow the required steps.
How are you providing SSL termination in your setup?