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 buildx imagetools inspect crazymax/qbittorrent --format "{{json .Manifest}}" | \
jq -r '.manifests[] | select(.platform.os != null and .platform.os != "unknown") | .platform | "\(.os)/\(.architecture)\(if .variant then "/" + .variant else "" end)"'
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...:warning: 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! :pray:
MIT. See LICENSE
for more details.