mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-12-03 07:29:59 +08:00
Add script for docker-compose
This commit is contained in:
parent
7562e0e870
commit
1ae5339c33
8
dist/docker/.env
vendored
Normal file
8
dist/docker/.env
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
# refer to Readme.md for an explanation of the variables
|
||||
|
||||
QBT_EULA=
|
||||
QBT_VERSION=devel
|
||||
QBT_WEBUI_PORT=8080
|
||||
|
||||
QBT_CONFIG_PATH=<your_path>/config
|
||||
QBT_DOWNLOADS_PATH=<your_path>/downloads
|
96
dist/docker/Readme.md
vendored
96
dist/docker/Readme.md
vendored
@ -4,70 +4,92 @@ This Dockerfile allows you to build a docker image containing qBittorrent-nox
|
||||
|
||||
## Prerequisities
|
||||
|
||||
In order to build/run this image you'll need docker installed: https://docs.docker.com/get-docker/
|
||||
In order to build/run this image you'll need `docker` installed: https://docs.docker.com/get-docker/
|
||||
|
||||
It is also recommended to install `docker-compose` as it can significantly ease the process: https://docs.docker.com/compose/install/
|
||||
|
||||
## Building docker image
|
||||
|
||||
In this docker folder run:
|
||||
```shell
|
||||
export \
|
||||
QBT_VERSION=devel
|
||||
docker build \
|
||||
--build-arg QBT_VERSION \
|
||||
-t qbittorrent-nox:"$QBT_VERSION" \
|
||||
.
|
||||
```
|
||||
* 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 explaination 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
|
||||
|
||||
* `QBT_VERSION`
|
||||
#### 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.
|
||||
|
||||
## Running docker image
|
||||
#### Volumes
|
||||
|
||||
* To start the the docker image simply run:
|
||||
There are some paths involved:
|
||||
* `<your_path>/config` on your host machine will contain qBittorrent configurations
|
||||
* `<your_path>/downloads` on your host machine will contain the files downloaded by qBittorrent
|
||||
|
||||
## Running container
|
||||
|
||||
* Using docker (not docker-compose), simply run:
|
||||
```shell
|
||||
export \
|
||||
QBT_VERSION=devel \
|
||||
QBT_EULA=accept \
|
||||
QBT_WEBUI_PORT=8080
|
||||
QBT_VERSION=devel \
|
||||
QBT_WEBUI_PORT=8080 \
|
||||
QBT_CONFIG_PATH="/tmp/bbb/config"
|
||||
QBT_DOWNLOADS_PATH="/tmp/bbb/downloads"
|
||||
docker run \
|
||||
-it \
|
||||
-t \
|
||||
--read-only \
|
||||
--rm \
|
||||
--tmpfs /tmp \
|
||||
--name qbittorrent-nox \
|
||||
-e QBT_EULA \
|
||||
-e QBT_WEBUI_PORT \
|
||||
-p "$QBT_WEBUI_PORT":"$QBT_WEBUI_PORT" \
|
||||
-p "$QBT_WEBUI_PORT":"$QBT_WEBUI_PORT"/tcp \
|
||||
-p 6881:6881/tcp \
|
||||
-p 6881:6881/udp \
|
||||
-v <your_path>/config:/config \
|
||||
-v <your_path>/downloads:/downloads \
|
||||
-v "$QBT_CONFIG_PATH":/config \
|
||||
-v "$QBT_DOWNLOADS_PATH":/downloads \
|
||||
qbittorrent-nox:"$QBT_VERSION"
|
||||
```
|
||||
Then you can login at: `http://127.0.0.1:8080`
|
||||
|
||||
* To stop the container:
|
||||
* 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
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
* `QBT_VERSION` \
|
||||
The same as [above](#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_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` on your host machine will contain qBittorrent configurations
|
||||
* `<your_path>/downloads` on your host machine will contain the files downloaded by qBittorrent
|
||||
* Using docker-compose:
|
||||
```shell
|
||||
docker compose down
|
||||
```
|
||||
|
25
dist/docker/docker-compose.yml
vendored
Normal file
25
dist/docker/docker-compose.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
qbittorrent-nox:
|
||||
build: .
|
||||
container_name: qbittorrent-nox
|
||||
environment:
|
||||
- QBT_EULA=${QBT_EULA}
|
||||
- QBT_VERSION=${QBT_VERSION}
|
||||
- QBT_WEBUI_PORT=${QBT_WEBUI_PORT}
|
||||
image: qbittorrent-nox:${QBT_VERSION}
|
||||
ports:
|
||||
# for bittorrent traffic
|
||||
- 6881:6881/tcp
|
||||
- 6881:6881/udp
|
||||
# for WebUI
|
||||
- ${QBT_WEBUI_PORT}:${QBT_WEBUI_PORT}/tcp
|
||||
read_only: true
|
||||
stop_grace_period: 30m
|
||||
tmpfs:
|
||||
- /tmp
|
||||
tty: true
|
||||
volumes:
|
||||
- ${QBT_CONFIG_PATH}:/config
|
||||
- ${QBT_DOWNLOADS_PATH}:/downloads
|
Loading…
Reference in New Issue
Block a user