Qbit WebUI Unreachable

defybananas

New Member
Jan 16, 2026
1
0
1
Hi all, running Proxmox media server, currently have a VM Ubunutu setup with *arr stack.
All of my applications start except Qbit Torrent I believe it has something to do with my port mapping and/or VPN.

I am also running gluetun which is tied to the qbit container.
Listed below is my compose file and .env file. When I try to connect the container is up and running and in the logs says that everything went smoothly. Any help would be greatly appreciated

TZ=America/New_York
PUID=1000
PGID=1000


# Input your VPN provider and type here
VPN_SERVICE_PROVIDER=airvpn
VPN_TYPE=wireguard


# Mandatory, airvpn forwarded port
FIREWALL_VPN_INPUT_PORTS=37698


# Copy all these varibles from your generated configuration file
WIREGUARD_PUBLIC_KEY=secret
WIREGUARD_PRIVATE_KEY=secret
WIREGUARD_PRESHARED_KEY=secret
WIREGUARD_ADDRESSES=secret


# Optional location varbiles, comma seperated list,no spaces after commas, make sure it matches the conf>
SERVER_COUNTRIES=United States
SERVER_CITIES=city


# Heath check duration
HEALTH_VPN_DURATION_INITIAL=120s

networks:
servarrnetwork:
name: servarrnetwork
ipam:
config:
- subnet: 172.39.0.0/24


services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
networks:
servarrnetwork:
ipv4_address: 172.39.0.2
ports:
- ${FIREWALL_VPN_INPUT_PORTS}:${FIREWALL_VPN_INPUT_PORTS}
- 8080:8080
- 6881:6881
- 6789:6789
- 9696:9696
volumes:
- ./gluetun:/gluetun
env_file:
- .env
healthcheck:
test: ping -c 1 www.google.com || exit 1
interval: 20s
timeout: 10s
retries: 5
restart: unless-stopped


qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: unless-stopped
labels:
- deunhealth.restart.on.unhealthy=true
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- WEBUI_PORT=8080
- TORRENTING_PORT=${FIREWALL_VPN_INPUT_PORTS}
volumes:
- ./qbittorrent:/config
- /mnt/media/data:/data
depends_on:
gluetun:
condition: service_healthy
restart: true
network_mode: service:gluetun
healthcheck:
test: ping -c 1 www.google.com || exit 1
interval: 60s
retries: 3
start_period: 20s
timeout: 10s


deunhealth:
image: qmcgaw/deunhealth
container_name: deunhealth
network_mode: "none"
environment:
- LOG_LEVEL=info
- HEALTH_SERVER_ADDRESS=127.0.0.1:9999
- TZ=${TZ}
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock


prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- /etc/localtime:/etc/localtime:ro
- ./prowlarr:/config
restart: unless-stopped
depends_on:
gluetun:
condition: service_healthy
restart: true
network_mode: service:gluetun


sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
restart: unless-stopped
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- /etc/localtime:/etc/localtime:ro
- ./sonarr:/config
- /mnt/media/data:/data

ports:
- 8989:8989
networks:
servarrnetwork:
ipv4_address: 172.39.0.3


radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
restart: unless-stopped
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- /etc/localtime:/etc/localtime:ro
- ./radarr:/config
- /mnt/media/data:/data
ports:
- 7878:7878
networks:
servarrnetwork:
ipv4_address: 172.39.0.4


bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
restart: unless-stopped
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- /etc/localtime:/etc/localtime:ro
- ./bazarr:/config
- /mnt/media/data:/data
ports:
- 6767:6767
networks:
servarrnetwork:
ipv4_address: 172.39.0.6


jellyseerr:
container_name: jellyseerr
image: fallenbagel/jellyseerr:latest
restart: unless-stopped
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- LOG_LEVEL=debug
volumes:
- ./jellyseerr:/app/config
ports:
- 5055:5055
networks:
servarrnetwork:
ipv4_address: 172.39.0.9


jellystat-db:
image: postgres:15.2
container_name: jellystat-db
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-pwd}
volumes:
- ./jellystat/postgres:/var/lib/postgresql/data
networks:
servarrnetwork:
ipv4_address: 172.39.0.10


jellystat:
image: cyfershepard/jellystat:latest
container_name: jellystat
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-pwd}
POSTGRES_IP: jellystat-db
POSTGRES_PORT: 5432
JWT_SECRET: "secret"
TZ: ${TZ:-America/New_York}
volumes:
- ./jellystat/backup-data:/app/backend/backup-data
ports:
- "3001:3000"
depends_on:
- jellystat-db
networks:
servarrnetwork:
ipv4_address: 172.39.0.11

$ docker logs qbittorrent
[migrations] started
[migrations] no migrations found
───────────────────────────────────────


██╗ ███████╗██╗ ██████╗
██║ ██╔════╝██║██╔═══██╗
██║ ███████╗██║██║ ██║
██║ ╚════██║██║██║ ██║
███████╗███████║██║╚██████╔╝
╚══════╝╚══════╝╚═╝ ╚═════╝


Brought to you by linuxserver.io
───────────────────────────────────────


To support LSIO projects visit:
https://www.linuxserver.io/donate/


───────────────────────────────────────
GID/UID
───────────────────────────────────────


User UID: 1000
User GID: 1000
───────────────────────────────────────
Linuxserver.io version: 5.1.4-r1-ls436
Build-date: 2026-01-11T07:02:52+00:00
───────────────────────────────────────


[custom-init] No custom files found, skipping...
WebUI will be started shortly after internal preparations. Please wait...


******** Information ********
To control qBittorrent, access the WebUI at: http://localhost:8080
The WebUI administrator username is: admin
The WebUI administrator password was not set. A temporary password is provided for this session: VJHMbF9dX
You should set your own password in program preferences.
Connection to localhost (::1) 8080 port [tcp/http-alt] succeeded!
[ls.io-init] done.
Screenshot 2026-01-16 at 2.20.00 PM.png