Running qBittorrent with Docker and Managing via Web Interface
qBittorrent is a cross-platform free BitTorrent client with a graphical user interface written in Qt, using libtorrent as the backend. While many qBittorrent Docker images exist online, the author was not satisfied with them and has therefore packaged qBittorrent into a Docker image, open-sourcing the build method on GitHub for others to experience.

Why Use qBittorrent
Those familiar with BT/PT should know Transmission and qBittorrent well. Both have their own characteristics: qBittorrent has an advantage over Transmission in seizing upload opportunities, while Transmission consumes fewer resources. Therefore, it is generally recommended for PT users to use both together: qBittorrent for boosting upload speeds and Transmission for seeding to earn bonus points.
qBittorrent Image Details
- Built based on Debian 10 x64 image
- qBittorrent version is
v4.1.5 - GeoIP database is pre-installed
- Default interface language is set to Simplified Chinese
Running qBittorrent with Docker
docker run -d \
--name=qbittorrent \
-p 7881:7881 \
-p 7881:7881/udp \
-p 18080:18080 \
-v /data/qbittorrent/config:/etc/qBittorrent \
-v /data/qbittorrent/downloads:/downloads \
--restart unless-stopped \
helloz/qbittorrent
- 7881: Port for incoming connections. Both TCP and UDP must be mapped, and the host port and container port must be identical; otherwise, downloading and uploading will fail.
- 18080: Port for accessing the qBittorrent Web UI. The host port and container port must be identical; otherwise, the Web interface cannot be opened.
- /data/qbittorrent/config: Directory for storing qBittorrent configuration files (can be modified).
- /data/qbittorrent/downloads: Download directory (can be modified).
Usage Instructions
After successful execution, access the interface via http://IP:18080. The default username is admin and the password is adminadmin. The interface is already set to Chinese by default.

After logging in, be sure to change the username and password in Tools > Options > Web User Interface.

Most settings can be modified directly through the Web interface. If you need to modify specific configurations, you can edit the configuration file at /your/mount/path/config/qBittorrent.conf. After making changes, restart the container using docker restart qbittorrent.
Project Links
- GitHub: https://github.com/helloxz/qbittorrent
- Docker Hub: https://hub.docker.com/repository/docker/helloz/qbittorrent
If you prefer using Transmission, you can also check: Install Transmission with Docker and Use Enhanced UI.