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
  • kryllic@programming.dev
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 year ago

    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

    • MoonlitSanguineOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      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.

      • kryllic@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        1 year ago

        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

  • Mike Wooskey@lemmy.d.thewooskeys.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    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.