【有趣好玩的Docker项目-Docker Compose部署】qBittorrent开源下载服务完全指南-docker compose部署【qbttorrent】

📥 qBittorrent Docker部署教程 | 开源下载服务完整指南

qBittorrent 是一款跨平台的开源 BitTorrent 客户端,界面简洁、功能强大,并支持 Web UI 管理,非常适合在服务器上长期运行。与传统客户端相比,它不仅轻量,而且内置广告拦截功能,使下载体验更加纯净。通过 Docker Compose 部署,你可以轻松实现远程下载和集中管理,无需在本地电脑长时间运行客户端。无论是家庭服务器、NAS 还是 VPS,通过 qBittorrent 都能实现自动化、远程化的下载管理,同时方便在局域网或互联网上进行访问。

通过 Docker 部署 qBittorrent 的最大优势是环境独立、配置统一、易于迁移。即使更换服务器,只需迁移 /opt/docker-stack/qbittorrent/ 目录,就能保证配置和下载任务不丢失。这种方式可以与反向代理(如 Caddy 或 Nginx)结合,提供统一的 HTTPS 访问,从而保证 Web UI 的访问安全。合理配置端口映射和文件权限,可以确保下载文件安全,同时方便多用户共享和管理。


📂 目录结构规划

为了便于管理和备份,建议将 qBittorrent 放在 /opt/docker-stack/qbittorrent/ 目录下。典型目录结构如下:

/opt/docker-stack/qbittorrent/
├─ compose.yaml          # Docker Compose 配置文件
└─ data/                 # 存放环境变量和文档
    ├─ .env              # 环境变量文件
    └─ README.md         # 部署文档说明

data/ 文件夹用于存放环境变量和 README 文档,同时还可以保存下载记录和配置文件。清晰的目录结构方便后续管理、迁移和备份,也方便团队协作和自动化脚本管理。


⚙️ 环境变量配置(data/.env)

.env 文件中可以自定义 BT 下载端口、Web UI 管理端口以及下载文件保存目录:

QBITTORRENT_PORT=8081
QBITTORRENT_WEBUI_PORT=8080
QBITTORRENT_DOWNLOAD_DIR=/opt/docker-stack/qbittorrent/downloads

使用 .env 文件有助于集中管理配置,当需要修改端口或下载目录时,只需修改 .env 文件而无需触碰 Docker Compose 配置文件。这种方式降低人为错误风险,提高系统维护的便捷性。


🐳 Docker Compose 配置(compose.yaml)

下面是一个完整示例,使用 LinuxServer 官方 qBittorrent 镜像,并配置了端口、挂载目录和 Docker 网络:

name: qbittorrent

networks:
  web_net:
    external: true

services:
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    restart: unless-stopped
    env_file:
      - ./data/.env
    environment:
      PUID: 1000
      PGID: 1000
      TZ: Asia/Shanghai
      WEBUI_PORT: ${QBITTORRENT_WEBUI_PORT}
    volumes:
      - ./data:/config
      - ${QBITTORRENT_DOWNLOAD_DIR}:/downloads
    ports:
      - "${QBITTORRENT_PORT}:6881"
      - "${QBITTORRENT_PORT}:6881/udp"
      - "${QBITTORRENT_WEBUI_PORT}:8080"
    networks:
      - web_net

通过该配置,容器内的配置文件和下载目录会挂载到宿主机指定路径,保证配置和下载数据的持久化。重启策略 unless-stopped 能在容器异常停止时自动恢复,提高服务稳定性。端口映射保证容器内 BT 服务和 Web UI 可以被正常访问,同时支持反代和 HTTPS 加密。


🔑 Service Name vs Container Name

  • Service Name (qbittorrent)
    Service name 用于容器间互通。例如其他容器(Caddy、Nginx 或自动化脚本)可以通过 qbittorrent:8080 访问 Web UI。在反代配置或容器间调用时使用 service name,可以保证网络内 DNS 解析稳定。
  • Container Name (qbittorrent)
    Container name 用于宿主机管理,例如通过 docker ps 查看容器状态,或者使用 docker logs qbittorrent 查看日志。container name 不建议用于跨容器访问,以避免 DNS 或网络隔离问题。

📑 README.md(data/目录示例)

# qBittorrent 部署文档

## 目录结构

/opt/docker-stack/qbittorrent/
├─ compose.yaml
└─ data/
    ├─ .env
    └─ README.md

## 环境变量 (.env)

- `QBITTORRENT_PORT`:BT 下载端口(默认 8081)
- `QBITTORRENT_WEBUI_PORT`:Web UI 管理端口(默认 8080)
- `QBITTORRENT_DOWNLOAD_DIR`:下载文件保存目录

## 网络配置

- 使用自定义网络 `web_net`,需提前创建:
```bash
docker network create web_net
```
可与其他容器互通,如 Caddy 或 Nginx:
```text
qbittorrent.example.xyz {
  reverse_proxy qbittorrent:8080
}
```

## 启动与停止

```bash
cd /opt/docker-stack/qbittorrent
docker compose up -d
docker compose down
docker compose restart
```

## 升级与回滚

升级:
```bash
docker compose pull && docker compose up -d
```

回滚:修改镜像标签为上一个版本或 digest,然后:
```bash
docker compose up -d
```

## 验证

浏览器访问 `http://服务器IP:8080` → 打开 Web UI  

默认用户名:admin  
默认密码:adminadmin(首次登录后请修改)

## 注意事项

- 确保 PUID 和 PGID 正确,否则下载文件可能无法访问  
- 建议通过反代启用 HTTPS,保证 Web UI 安全  
- Service name 用于容器间互通,Container name 用于宿主机管理  
- 下载目录建议使用独立磁盘分区,提高数据安全性  
- 结合 RSS 自动下载和限速功能,可以实现长期无人值守下载

🚀 总结

qBittorrent 是一款轻量、开源且跨平台的 BT 下载客户端。通过 Docker Compose 部署,你可以实现远程管理、自动化下载,并可结合反向代理提供 HTTPS 访问。通过 Web UI,可以直接管理下载任务,包括添加种子、设置限速、启用 RSS 自动下载等功能。文章详细介绍了目录结构、环境变量配置、Docker Compose 设置以及 Service Name 和 Container Name 的区别,为部署和运维提供完整指南。

引用:

https://docs.linuxserver.io/images/docker-qbittorrent/#version-tags

https://hub.docker.com/r/linuxserver/qbittorrent

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇