Gluetun
Edit the lxc.conf file on PVE in /etc/pve/lxc/container id.conf at the very bottom add the following lines
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net dev/net none bind,create=dir
Then in the docker-compose.yml file for Gluetun add the following underneath the restart policy
devices:
- /dev/net/tun:/dev/net/tun
This should allow Gluetun to now make a connection to the internet.
ProtonVPN
Go to https://account.proton.me/u/1/vpn/dashboard
Then under Proton VPN look for Wireguard click that link, you should now see the configuration options to make a custom Wireguard .conf file and this is what we will use to populate the Gluetun docker-compose.yml file.
Naming the .conf file
Find the heading
Give a name to the config to be generated
As this is only seen in the ProtonVPN dashboard, be descriptive with it so you know exactly where you are using the information (it also makes it useful if you need to quickly kill the conf file also)
Selecting the platform
Find this heading and select GNU/Linux, it could work if you select anything else but I have not tried to see if we get the information the same in each conf file.
VPN Options
Find VPN Options and look for NAT-PMP (Port Forwarding), make sure this is checked or else port forwarding will not work, which you need to have working for qBittorrent. While here also uncheck Moderate NAT and VPN Accelerator as these are not used with Gluetun.
Server Selection
Choose a server that has the P2P logo beside it, since we are using a VPN I have found using the suggested server by Proton to be good enough and have not had any issues.
.conf file creation
Click on the create button under the suggested server or beside the server you've chosen. This will bring a pop-up window with all the information you will need for Gluetun. There should be a download link for it click it and download the file, as it will make doing things a bit easier.