All-in-one docker solution for a seed box?

body_by_make@lemmy.dbzer0.com to Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ@lemmy.dbzer0.com – 47 points –

Are there any good docker containers that have an openvpn + qbittorrent configuration setup in such a way that the torrents won't run if the vpn isn't running?

26

You are viewing a single comment

Ah interesting. Might be worth looking into the saltbox someone posted above. I currently use a seedbox service

I run wireguard in one container (as a client connected to Mullvad), and then qBittorent in another container but using the network of the wireguard container.

Then I just set up routing rules in wireguard to allow my local network to be exempted from the tunnel so I can reach the web interface of qBittorent.

All my torrent traffic goes over the VPN, I can still reach the webui and none of my other containers are affected. Super simple and very reliable.

I have my qbittorrent behind Gluetun and port forward the web interface port through Gluetun

version: "3"
services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: qbittorrent_vpn
    cap_add:
      - NET_ADMIN
    environment:
      - VPN_SERVICE_PROVIDER=
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY==
      - WIREGUARD_ADDRESSES=
      - SERVER_COUNTRIES=
      - TZ=Europe/Prague
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp
    restart: unless-stopped
    networks:
      - traefik

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - TZ=Europe/Prague
      - WEBUI_PORT=8080
    volumes:
      - /docker/containers/qbittorrent/config:/config
      - /docker/containers/qbittorrent/downloads:/downloads
    restart: unless-stopped
    network_mode: "service:gluetun"

networks:
  traefik:
    external: true

Very nice! This is basically exactly what I'm doing except I'm doing it in ansible and using the linuxserver/wireguard container.

I went with Gluetun because they work with either OVPN or Wireguard (depends on what you configure in compose) and I have already used it through Truecharts