I am running Ubuntu Server with Plex, qBittorrent-Nox, and CyberGhost. I want to route qBittorrent through the CyberGhost VPN, but not Plex.
I have never used Docker, but from what I gather online, it seems like the containers operate like little VM’s for compartmentalization and resource allocation. If that is correct, would I be able to put qBittorrent-Nox and CyberGhost into the same docker container to route qBittorrent-Nox through the VPN while Plex runs outside the VPN in its own snap?
I use gluetun to provide VPN access for specific containers like qBittorrent-Nox, Sonarr etc. There is a wiki for how to connect containers on docker and setup CyberGhost.
You can use a container that includes a vpn client like others mentioned OR you can have a container that uses the network of another container!
The basic idea is that you have a single openvpn/wireguard container and then you route all the other containers to use that network, see this stackoverflow post for more info.
The only downside of this solution is that you have to open the ports that you need in the vpn container.
What I do on mine is rent a cheap VPS with unlimited bandwidth, I run OpenVPN server on that VPS using Nyr's openvpn-install script and then on my local seedbox server I connect to my OpenVPN server. I have qbittorrent-nox listening on the tun0 interface, and then on my OpenVPN server VPS I have an iptables prerouting rule to route traffic from the inbound torrent port to my local seedbox server, essentially port-forwarding over the VPN using the iptables prerouting DNAT rule. I also only seed on private trackers, since I don't use public trackers.
It's a very nice setup, I'd recommend it. I might do a full write-up some time about it.