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
|
打开 6881 8081 端口
1 2 3
| ufw allow 6881/udp ufw allow 6881/tcp ufw allow 8081/tcp
|
Unanthorized 错误
- 将语言修改为中文后,
HostHeaderValidation=true 配置才会出现
- 进入容器
/config/qBittorrent/ 目录,打开 qBittorrent.conf 文件
- 找到
WebUI\HostHeaderValidation=true , 将 true 改为 false
- 也可以在外部直接进行修改
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 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" }
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/