version: "3" services: gluetun: image: qmcgaw/gluetun:latest container_name: gluetun # line above must be uncommented to allow external containers to connect. See https://github.com/qdm12/gluetun/wiki/Connect-a-container-to-gluetun#external-container-to-gluetun cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - 8888:8888/tcp # HTTP proxy - 8388:8388/tcp # Shadowsocks - 8388:8388/udp # Shadowsocks - 8080:8080/tcp # qbittorrent webUI volumes: - /vpn-gluetun:/gluetun environment: # See https://github.com/qdm12/gluetun/wiki - VPN_SERVICE_PROVIDER=mullvad - VPN_TYPE=wireguard # Wireguard: # - mullvad device name "welcoming labrador" - WIREGUARD_PRIVATE_KEY=KM9brVZD0P3VlBJVYkQPe5rr17cr/orNWphTgOSqakA= - WIREGUARD_ADDRESSES=10.66.1.218/32 - TZ=America/New_York # Timezone for accurate log times # optional, server_[countries, cities] # - SERVER_COUNTRIES: Comma separated list of countries # - SERVER_CITIES=Stockholm # - SERVER_HOSTNAMES: Comma separated list of server hostnames restart: always qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent environment: - PUID=1000 - PGID=1000 - TZ=America/New_York - WEBUI_PORT=8080 volumes: - /mnt/d/docker/qbittorrent/config:/config - /mnt/d/media/downloads:/downloads # network_mode: "service:gluetun" forces qbittorrent to connect to the internet through the VPN defined in the gluetun container above network_mode: "service:gluetun" restart: always