|
|
|
# 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:
|
|
|
|
* `<your_path>/config` \
|
|
|
|
Full path to a folder on your host machine which will store qBittorrent configurations.
|
|
|
|
Using relative path won't work.
|
|
|
|
* `<your_path>/downloads` \
|
|
|
|
Full path to a folder on your host machine which will store the files downloaded by qBittorrent.
|
|
|
|
Using relative path won't work.
|
|
|
|
|
|
|
|
## 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
|
|
|
|
```
|