Skip to main content

qBittorentVPN

version: "3.3"
services:
  qbittorrentvpn:
    image: trigus42/qbittorrentvpn
    container_name: qbittorrentvpn
    privileged: true   
    environment:
      ## Not needed when using Wireguard
      # - VPN_USERNAME=myvpnusername
      # - VPN_PASSWORD=myvpnpassword
      - PUID=998 #optional
      - PGID=100 #optional
      ## This environment variable doesn't exist
      # - WEBUI_PORT_ENV=8991 #optional
      ## This neither
      # - INCOMING_PORT_ENV=8999 #optional
      - VPN_ENABLED=yes
      - LAN_NETWORK=192.168.1.0/24 # Or 192.168.0.0/24 depending on network
      - NAME_SERVERS=1.1.1.1,1.0.0.1

    ports:
      ## As you mentioned you need to set WebUI\HostHeaderValidation=false in the qBittorrent.conf but then this is perfectly fine
      - 8991:8080
      ## You probably don't want to be directly connectable (circumventing the VPN)
      ## If you want to be connectable, you have to use a VPN that allows port forwarding (you don't have to connectable for most things, except if you use private trackers)
      ## This didn't do much anyway cause you didn't allow the ports in the firewall using ADDITIONAL_PORTS
      # - 8999:8999
      # - 8999:8999/udp
    volumes:
      - /srv/path/Files/QBittorentVPN/config:/config
      - /srv/path/Files/QBittorentVPN/downloads:/downloads
    restart: unless-stopped

Optionnal : set WebUI\HostHeaderValidation=false in the qBittorrent.conf

Default creditentials
admin
adminadmin

DOESN'T WORK WITH VIVALDI BROWSER !

Set
VariableRequired Function Example Default
VPN_ENABLEDYes Enable VPN (yes/no)? VPN_ENABLED=yes yes
VPN_TYPE YesWireGuard or OpenVPN (wireguard/openvpn)? VPN_TYPE=wireguardopenvpn openvpnwireguard
VPN_USERNAMENo If username and password provided, configures all ovpn filefiles automatically VPN_USERNAME=ad8f64c02a2de  
VPN_PASSWORD NoIf username and password provided, configures all ovpn filefiles automatically VPN_PASSWORD=ac98df79ed7fb  
LAN_NETWORKYes (atleast one) Comma delimited local Network's with CIDR notation LAN_NETWORK=192.168.0.0/24,10.10.0.0/24  
ENABLE_SSLSET_FWMARK NoMake web interface reachable for devices in networks not specified in LAN_NETWORKyesno
ENABLE_SSL Let the container handle SSL (yes/no)? ENABLE_SSL=yes yesno
NAME_SERVERSNo Comma delimited name servers NAME_SERVERS=1.1.1.1,1.0.0.1 1.1.1.1,1.0.0.1
PUID NoUID applied to /config files and /downloads PUID=99 991000
PGIDNo GID applied to /config files and /downloads PGID=100 1001000
UMASK No  file mode creation mask UMASK=002 002
HEALTH_CHECK_HOSTNo This is the host or IP that the healthcheck script will use to check an active connection HEALTH_CHECK_HOST=one.one.one.one8.8.8.8 one.one.one.one1.1.1.1
HEALTH_CHECK_INTERVALNo This is the time in seconds that the container waits to see if the internet connectionVPN still works (check if VPN died) HEALTH_CHECK_INTERVAL=3005 300
HEALTH_CHECK_SILENTNoSet to 1 to supress the 'Network is up' message. Defaults to 1 if unset.HEALTH_CHECK_SILENT=115
INSTALL_PYTHON3No Set this to yes to let the container install Python3.Python3 INSTALL_PYTHON3=yes no
ADDITIONAL_PORTSNo Adding a comma delimited list of ports will allow these ports via the iptables script.script ADDITIONAL_PORTS=1234,8112  
DEBUGPrint information useful for debugging in logyesno