# qBittorrent-nox Docker Image This Dockerfile allows you to build a Docker Image containing qBittorrent-nox ## Prerequisites In order to build/run this image you'll need Docker installed: https://docs.docker.com/get-docker/ If you don't need the GUI, you can just install Docker Engine: https://docs.docker.com/engine/install/ It is also recommended to install Docker Compose as it can significantly ease the process: https://docs.docker.com/compose/install/ ## Building Docker Image * If you are using Docker (not Docker Compose) then run the following commands in this folder: ```shell export \ QBT_VERSION=devel docker build \ --build-arg QBT_VERSION \ -t qbittorrent-nox:"$QBT_VERSION" \ . ``` * If you are using Docker Compose then you should edit `.env` file first. You can find an explanation of the variables in the following [Parameters](#parameters) section. \ Then run the following commands in this folder: ```shell docker compose build \ --build-arg QBT_VERSION ``` ### Parameters #### Environment variables * `QBT_EULA` \ This environment variable defines whether you accept the end-user license agreement (EULA) of qBittorrent. \ **Put `accept` only if you understand and accepted the EULA.** You can find the EULA [here](https://github.com/qbittorrent/qBittorrent/blob/56667e717b82c79433ecb8a5ff6cc2d7b315d773/src/app/main.cpp#L320-L323). * `QBT_VERSION` \ This environment variable specifies the version of qBittorrent-nox to be built. \ For example, `4.4.0` is a valid entry. You can find all tagged versions [here](https://github.com/qbittorrent/qBittorrent/tags). \ Or you can put `devel` to build the latest development version. * `QBT_WEBUI_PORT` \ This environment variable sets the port number which qBittorrent WebUI will be binded to. #### Volumes There are some paths involved: * `/config` on your host machine will contain qBittorrent configurations * `/downloads` on your host machine will contain the files downloaded by qBittorrent ## Running container * Using Docker (not Docker Compose), simply run: ```shell export \ QBT_EULA=accept \ QBT_VERSION=devel \ QBT_WEBUI_PORT=8080 \ QBT_CONFIG_PATH="/tmp/bbb/config" QBT_DOWNLOADS_PATH="/tmp/bbb/downloads" docker run \ -t \ --read-only \ --rm \ --tmpfs /tmp \ --name qbittorrent-nox \ -e QBT_EULA \ -e QBT_WEBUI_PORT \ -p "$QBT_WEBUI_PORT":"$QBT_WEBUI_PORT"/tcp \ -p 6881:6881/tcp \ -p 6881:6881/udp \ -v "$QBT_CONFIG_PATH":/config \ -v "$QBT_DOWNLOADS_PATH":/downloads \ qbittorrent-nox:"$QBT_VERSION" ``` * Using Docker Compose: ```shell docker compose up ``` Then you can login at: `http://127.0.0.1:8080` ## Stopping container * Using Docker (not Docker Compose): ```shell docker stop -t 1800 qbittorrent-nox ``` * Using Docker Compose: ```shell docker compose down ```