qBittorrent

qBittorrent 是一款自由、跨平台的 BitTorrent 客户端,它是用 C++ 编写的,并且具有良好的性能和稳定性。


Docker Compose

创建 docker-compose.yaml 文件

1
nano docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
---
version: "2.1"
services:
qbittorrent:
image: linuxserver/qbittorrent
container_name: qbittorrent
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
- UMASK_SET=022
- WEBUI_PORT=8081
volumes:
- ./config:/config
- ./downloads:/downloads
ports:
- 6881:6881
- 6881:6881/udp
- 8081:8081
restart: unless-stopped
1
docker-compose up -d

打开 6881 8081 端口

1
2
3
ufw allow 6881/udp
ufw allow 6881/tcp
ufw allow 8081/tcp

Unanthorized 错误

  1. 将语言修改为中文后,HostHeaderValidation=true 配置才会出现
  2. 进入容器 /config/qBittorrent/ 目录,打开 qBittorrent.conf 文件
  3. 找到 WebUI\HostHeaderValidation=true , 将 true 改为 false
  4. 也可以在外部直接进行修改
1
2
3
4
5
docker exec -it qbittorrent bash

sed -i 's/HostHeaderValidation=true/HostHeaderValidation=false/' /config/qBittorrent/qBittorrent.conf

exit
1
sed -i 's/HostHeaderValidation=true/HostHeaderValidation=false/' /root/docker/qBittorrent/config/qBittorrent/qBittorrent.conf

一键脚本

1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#! /bin/bash

red(){
echo -e "\033[31m\033[01m$1\033[0m"
}
green(){
echo -e "\033[32m\033[01m$1\033[0m"
}
yellow(){
echo -e "\033[33m\033[01m$1\033[0m"
}


# qBittorrent

function qbittorrent_install(){
if nc -z localhost 6881 && nc -z localhost 8081; then
echo " 6881 8081 端口已经被占用,请检查相关进程"
exit 1
fi
if docker ps -a --format "{{.Names}}" | grep -q "qbittorrent"; then
echo " qbittorrent 容器名已经被占用"
exit 1
fi
if [ ! -d /root/docker/qBittorrent ]; then
mkdir -p /root/docker/qBittorrent
fi
cd /root/docker/qBittorrent
if [ -f "docker-compose.yaml" ] || [ -f "docker-compose.yml" ]; then
echo
green " docker-compose 文件已经存在, 跳过创建 docker-compose.yaml 步骤"
echo
else
cat <<EOF > docker-compose.yaml
---
version: "2.1"
services:
qbittorrent:
image: linuxserver/qbittorrent
container_name: qbittorrent
environment:
- PUID=
- PGID=
- TZ=Asia/Shanghai
- UMASK_SET=022
- WEBUI_PORT=8081
volumes:
- ./config:/config
- ./downloads:/downloads
ports:
- 6881:6881
- 6881:6881/udp
- 8081:8081
restart: unless-stopped
EOF
sed -i "s/- PUID=/- PUID=$(id -u)/" docker-compose.yaml
sed -i "s/- PGID=/- PGID=$(id -g)/" docker-compose.yaml
fi
docker-compose up -d
ufw allow 6881/tcp
ufw allow 6881/udp
ufw allow 8081/tcp
yellow "-----------------------------------------------"
green " Web 端口:8081"
echo
green " Docker IP = $(ip addr show docker0 | grep 'inet\b' | awk '{print $2}' | cut -d '/' -f1):8081"
echo
green " Web 网址 = http://$(ifconfig $(ifconfig | grep -oP 'enp\w+') | grep 'inet ' | awk '{print $2}'):8081"
echo
green " 初始账号:admin"
green " 初始密码:adminadmin"
echo
green " qBittorrent 安装完毕!"
yellow "-----------------------------------------------"
}
qbittorrent_install

总结

docker-compose 中,UMASK_SET=022 是一个环境变量设置,用于设置 Docker 容器中的默认文件权限掩码(umask)。这意味着当容器创建新文件或目录时,它们将具有默认权限模式 755(rwxr-xr-x)。

umask 是一个权限掩码,用于控制在创建新文件或目录时应该禁用哪些权限位。例如,在 umask 设置为 022 的情况下,创建新文件或目录时将禁用所有用户可写权限位(即 2),这意味着文件和目录将默认具有权限模式 755。

通过在 docker-compose 文件中设置 UMASK_SET=022 环境变量,您可以指示容器使用类似于主机系统的文件权限模式,从而确保在容器内部创建的文件和目录拥有适当的默认权限。

使用 Tracker 服务器地址,本地加速下载。


文档地址:https://docs.linuxserver.io/images/docker-qbittorrent

Tracker List:https://dns.icoa.cn/tracker/

Tracker List:https://ngosang.github.io/trackerslist/