qBittorrent Docker image
MIT License
qBittorrent Docker image.
[!TIP] Want to be notified of new releases? Check out đ Diun (Docker Image Update Notifier) project!
/data/torrents
/data/watch
/data/webui
git clone https://github.com/crazy-max/docker-qbittorrent.git
cd docker-qbittorrent
# Build image and output to docker (default)
docker buildx bake
# Build multi-platform image
docker buildx bake image-all
Registry | Image |
---|---|
Docker Hub | crazymax/qbittorrent |
GitHub Container Registry | ghcr.io/crazy-max/qbittorrent |
Following platforms for this image are available:
$ docker run --rm mplatform/mquery crazymax/qbittorrent:latest
Image: crazymax/qbittorrent:latest
* Manifest List: Yes
* Supported platforms:
- linux/amd64
- linux/arm/v6
- linux/arm/v7
- linux/arm64
TZ
: Timezone assigned to the container (default UTC
)PUID
: qBittorrent user id (default 1000
)PGID
: qBittorrent group id (default 1000
)WAN_IP
: Public IP address reported to the tracker (default auto resolved with dig +short myip.opendns.com @resolver1.opendns.com
)WEBUI_PORT
: WebUI port to be used (default 8080
)ALT_WEBUI
: Enable alternative WebUI located in /data/webui
(default false
)/data
: qBittorrent config, downloads, temp, torrents, watch, webui...â ď¸ Note that the volumes should be owned by the user/group with the specified
PUID
andPGID
. If you don't give the volume correct permissions, the container may not start.
6881
: DHT port8080
: qBittorrent HTTP portDocker compose is the recommended way to run this image. You can use the following compose template, then run the container:
$ docker compose up -d
$ docker compose logs -f
You can also use the following minimal command:
$ docker run -d --name qbittorrent \
--ulimit nproc=65535 \
--ulimit nofile=32000:40000 \
-p 6881:6881/tcp \
-p 6881:6881/udp \
-p 8080:8080 \
-v $(pwd)/data:/data \
crazymax/qbittorrent:latest
Recreate the container whenever I push an update:
docker compose pull
docker compose up -d
qBittorrent Web API can be used within this image using curl.
$ docker compose exec qbittorrent curl --fail http://127.0.0.1:8080/api/v2/app/version
v4.1.8
You can change the default username admin
and password adminadmin
through the API or WebUI.
docker compose exec qbittorrent curl --fail -X POST \
-d 'json={"web_ui_username":"myuser","web_ui_password":"mypassword"}' \
http://127.0.0.1:8080/api/v2/app/setPreferences
You can configure the monitored folders on the qBittorrent interface:
Or through the API:
docker compose exec qbittorrent curl --fail -X POST \
-d 'json={"scan_dirs":{"/data/watch": 1}}' \
http://127.0.0.1:8080/api/v2/app/setPreferences
Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!
Thanks again for your support, it is much appreciated! đ
MIT. See LICENSE
for more details.