I’d seen gluetun mentioned but didn’t know what it was for until a moment ago.
I’ve heard of tailscale and at least know what that does but never used it.
I personally have a mullvad subscription. I have a container connected to that with wireguard, and then for services I want to use that VPN I just configure them to use the network stack from that container.
I’m not suggesting that my way is the best but it’s worked well for several years now.


services: qbittorrent: image: lscr.io/linuxserver/qbittorrent container_name: qbittorrent environment: - PUID=888 - PGID=888 - TZ=Australia/Perth - WEBUI_PORT=8080 volumes: - ./config:/config - /srv/downloads:/downloads restart: unless-stopped network_mode: "container:wg_out"this is my compose.yml for a qbittorrent instance.
the part you’re interested in is the final line. There’s another container with the wireguard instance called “wg_out”. This network mode attaches this qbittorrent container to that wireguard container’s network stack.