qBittorrent/dist/docker
Chocobo1 1dcfd7bb59
Improve docker documentation
Clarify that some paths should be full paths.

Related #17729.
PR #17736.
2022-09-18 13:10:24 +08:00
..
.env Add script for docker-compose 2022-05-05 22:01:49 +08:00
docker-compose.yml Add script for docker-compose 2022-05-05 22:01:49 +08:00
Dockerfile Add support for search engine 2022-05-05 19:52:10 +08:00
entrypoint.sh Run qbt-nox as non-root 2022-05-05 13:39:52 +08:00
Readme.md Improve docker documentation 2022-09-18 13:10:24 +08:00

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:

    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 section.
    Then run the following commands in this folder:

    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.
  • 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.
    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:

    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:

    docker compose up
    

Then you can login at: http://127.0.0.1:8080

Stopping container

  • Using Docker (not Docker Compose):

    docker stop -t 1800 qbittorrent-nox
    
  • Using Docker Compose:

    docker compose down