qBittorrent
[SSO] BitTorrent client
The qBittorrent project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. The default username/password is printed to the terminal on container start.
Recommended setup steps:
- Keep qBittorrent WebUI authentication enabled for API clients. Authentik
protects browser access through Traefik.
- For the proxy-only setup below, enable “Bypass authentication for clients on whitelisted IP subnets”, whitelist Traefik’s proxy-network IP as a /32, and leave “Reverse proxy support” disabled. qBittorrent then bypasses its login only for Traefik, rather than for every client or container on the proxy network.
- Traefik’s IP can change when it is recreated. Use a dedicated network with a reserved Traefik IP for a durable configuration, or update the /32 whitelist after each Traefik recreation. Do not whitelist the full proxy network.
- Direct host exposure (see “separate host” note below) must retain WebUI authentication because the browser connects to qBittorrent directly.
- The image is build locally (see:
Dockerfile) and includes the VueTorrent (GitHub - VueTorrent/VueTorrent: The sleekest looking WEBUI for qBittorrent made with Vuejs!) web interface. To enable it, point your alternate WebUI location to ‘/usr/vuetorrent’ folder in qBittorrent settings. - Configure categories (Settings menu) to specify default download locations
- Setup forwarding of port 6881 (TCP, UDP) in the router, check open port: Open Port Check Tool - Test Port Forwarding on Your Router
References
Authentik ForwardAuth
Authentik ForwardAuth protects the browser UI for Authentik’s media group.
qBittorrent WebUI authentication remains necessary for API clients and any
direct UI route; BitTorrent peer ports are separate protocol exposure.
Setup
For proxy-only browser access, enable qBittorrent’s whitelist bypass only for
Traefik’s exact proxy-network /32; never whitelist the entire proxy network.
Reserve Traefik’s IP or update that whitelist after Traefik recreation. Keep
WebUI port 8080 unpublished on the host.
Verify
Confirm a media member reaches the WebUI, a non-member is denied, direct UI
access still needs native authentication, and API clients plus peer traffic
continue to work.