Qbittorrent torrent frame doesn't populate under certain conditions but does under others

Setup: Compose file with glueton, qbittorrent, firefox, tied together with network_mode: “service:gluetun”

Problem: When trying to view the webgui at :8080 from the firefox instance running in docker, the torrent window doesn’t populate even though it is possible to add torrents, view and modify settings, and see the current bandwidth used.

Accessing the same webgui at :8080 from the host works normally and all torrents are visible.

Changing the GUI from the default to an alternative skin also allows the torrents to be viewed from within the Firefox instance as well as from the host.

I have checked to make sure all tags in the torrents are present in the webgui.

Attempted clearing the cache.

Here is relevant part of the redacted compose file:

docker-compose.yml:
gluetun:
build: .
image: gluetun-with-curl
container_name: gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
sysctls:
- net.ipv6.conf.all.disable_ipv6=1
ports:
- “8080:8080/tcp” # qBittorrent Web UI
- “7878:7878”
- “9696:9696”
- “8989:8989”
volumes:
- ./gluetun:/gluetun
environment:
- VPN_SERVICE_PROVIDER=redacted
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=redacted
- SERVER_COUNTRIES=redacted
- WIREGUARD_ADDRESSES=10.2.0.2/32
- VPN_PORT_FORWARDING=on
- DNS_KEEP_NAMESERVER=false
- DOT=true
- PORT_FORWARD_ONLY=off
- TZ=redacted
- FIREWALL_OUTBOUND_SUBNETS=192.168.1.0/24
- VPN_PORT_FORWARDING_UP_COMMAND=/gluetun/qbt-port.sh
restart: unless-stopped

qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
network_mode: “service:gluetun”
stop_grace_period: 1000s
depends_on:
gluetun:
condition: service_healthy
environment:
- PUID=1000
- PGID=1000
- TZ=Pacific/Honolulu
- WEBUI_PORT=8080
volumes:
- ./qbt/config:/config
- /mnt/plexpool:/data
restart: unless-stopped

firefox:
image: jess/firefox
container_name: firefox
network_mode: “service:gluetun”
stop_grace_period: 1000s

user: "0:0"                      # image is built to run as root
environment:
  - DISPLAY=${DISPLAY}
depends_on:
  gluetun:
    condition: service_healthy

volumes:
  - /tmp/.X11-unix:/tmp/.X11-unix
  - $HOME/.Xauthority:/root/.Xauthority:ro
  - ./profile:/root/.mozilla            # ← mount the whole tree
  - ./downloads:/root/Downloads         # host download folder

devices:
  - /dev/dri:/dev/dri                   # GPU (optional)
  - /dev/snd:/dev/snd                   # audio (optional)
ipc: host
shm_size: "2g"
restart: unless-stopped

You’ll need to remove the VPN and test, then provide us with the results. Most likely your VPN is the issue but we don’t provide support when a container is routed through another container