本文较长,如想略过某些内容,请直接点击右侧目录链接。
说明
为保证用户安全,防止用户因使用反代并代理了127.0.0.1这种情况导致安全性降低,从2023年9月5日更新的镜像开始,创建容器需要新增设置两个环境变量:QB_USERNAME(登陆qBittorrent的用户名)和QB_PASSWORD(登陆qBittorrent的密码)。容器将在创建时使用这两个环境变量去设置(如已存在配置文件则是修改)登陆qBittorent的用户名和密码。如未设置这两个环境变量,或者保持为qBittorrent的默认值(默认用户名:admin,默认密码:adminadmin),则本容器附加的所有脚本、定时任务将无法继续使用。详情。也因此镜像默认即安装好python,不再需要设置INSTALL_PYTHON这个环境变量。
声明
本镜像非魔改版、非快验版、非Enhanced增强版,qBittorrent自身的行为/功能全部未做任何改动(也不会考虑添加或修改官方客户端行为/功能的内容),全部属于官方客户端的默认行为/功能,在和PT站Tracker服务器交互时反馈的一切信息均是qBittorrent官方版反馈的信息。本镜像只是基于官方客户端附加了一些实用的脚本,脚本全部是合理合法使用qBittorrent官方API获取信息,脚本全部行为都集中在本地,与任何远端服务器无任何联系。增加的脚本全部代码在 Github 或 Gitee 均可查看 。绝对不会因为使用此镜像而导致账号被封。
效果图








特点
- 
自动按 tracker分类或打标签(可以选择关闭,可以选择采用qBittorrent中的“分类”还是“标签”)。
- 
下载完成发送通知(可以选择关闭),可选途径:钉钉(效果图), Telegram, ServerChan, 爱语飞飞, PUSHPLUS推送加, 企业微信, Gotify;搭配RSS功能(RSS教程)自动下载效果很好;下载完成后还可以补充运行你的自定义脚本。 
- 
故障时发送通知,可选途径同上。 
- 
按设定的cron检查tracker状态,如发现种子的tracker状态有问题,将给该种子添加 TrackerError的标签,方便筛选;如果tracker出错数量超过设定的阈值,给设定渠道发送通知。
- 
一些辅助功能:批量修改tracker;检测指定文件夹下未做种的子文件夹/文件;生成做种文件清单;生成未做种文件清单;配合IYUU自动重新校验和自动恢复做种;指定设备上线时自动限速;多时段限速;分析指定目录的重复做种率(辅种率)等等。 
- 
如需要下载完成后自动触发EMBY/JELLYFIN扫描媒体库,触发ChineseSubFinder自动为刚刚下载完成的视频自动下载字幕,请按照 这里 操作。 
- 
python为可选安装项,设置为true就自动安装。
- 
体积小,默认中文UI,默认东八区时区。 
- 
iyuu标签集成了IYUUPlus,自动设置好下载器,减少IYUUPlus设置复杂程度。
标签
- 
4.x.x,latest: 标签以纯数字版本号命名,这是qBittorrent正式发布的稳定版,其中最新的版本额外增加latest标签。
- 
4.x.x-iyuu,latest-iyuu,iyuu: 标签中带有iyuu字样,基于qBittorrent稳定版集成了IYUUPlus,其中最新的版本额外增加latest-iyuu和iyuu标签,自动安装好IYUUPlus,自动设置好下载器,主要针对不会设置下载器的用户。
- 
x.x.xalphax,x.x.xbetax,x.x.xrcx,unstable: 标签中带有alpha、beta或rc字样,这是qBittorrent发布的测试版,其中最新的测试版额外增加unstable标签。此标签仅供测试使用及向qBittorrent官方反馈bug使用。
- 
edge: 基于alpine:edge制作的镜像,体积最小,所依赖的组件版本最新,会提供riscv64版本镜像。所有新功能或者BUG修复,或者有任何变化时,都会第一时间更新到此标签。
更新日志(仅列出稳定版)
| Date | qBittorrent | libtorrent | alpine | 备注 | 
|---|---|---|---|---|
| 2021-06-08 | 4.3.5 | 1.2.13 | 3.13.5 | |
| 2021-06-17 | 4.3.5 | 1.2.14 | 3.14.0 | 默认不再安装python,需要开关打开才安装 | 
| 2021-06-28 | 4.3.6 | 1.2.14 | 3.14.0 | 优化自动分类和tracker错误检查时的资源占用 | 
| 2021-08-04 | 4.3.7 | 1.2.14 | 3.14.0 | 1. 增加5个环境变量控制开关,详见环境变量清单; 2. 增加批量修改 tracker的功能,详见命令; 3. 增加在运行 dl-finish %K时运行自定义脚本的功能,详见相关问题2。 | 
| 2021-08-30 | 4.3.8 | 1.2.14 | 3.14.2 | 1. 增加3个环境变量控制开关,详见环境变量清单; 2. 增加检测指定目录未做种的子文件夹/文件功能,详见命令。 | 
| 2021-11-01 | 4.3.9 | 1.2.14 | 3.14.2 | 修复通知内容中含有字符"&“时无法正常发送的bug。 | 
| 2022-01-07 | 4.4.0 | 2.0.5 | 3.14.3 | 1. 增加环境变量 EXTRA_PACKAGES,详见环境变量清单;2. 默认运行自动分类程序时仅对未分类的种子进行分类,如需要强制对所有种子进行分类,请参考命令; 3. 增加两个需要手动运行的脚本 report-seed-files(导出所有做种文件清单)和report-unseed-files(导出指定文件夹下未做种文件清单),详见命令。 | 
| 2022-02-16 | 4.4.1 | 2.0.5 | 3.14.3 | |
| 2022-03-25 | 4.4.2 | 2.0.5 | 3.14.4 | |
| 2022-05-24 | 4.4.3 | 2.0.6 | 3.16.0 | 1. 修复存在多个标签时无法移除 TrackerError标签的bug;2. 增加企业微信群机器人的通知渠道。3. 升级openssl到1.1.1o,boost到1.78,alpine到3.16.0,升级iyuu镜像中的php7为php8。 | 
| 2022-05-26 | 4.4.3.1 | 2.0.6 | 3.16.0 | |
| 2022-08-24 | 4.4.4 | 2.0.7 | 3.16.2 | 1. 增加 remove-track脚本,详见命令;2. 优化del-unseed-dir脚本,现还可以一次性检测多个目录了;3. 增加Gotity通知环境变量GOTIFY_URLGOTIFY_APP_TOKENGOTIFY_PRIORITY,详见环境变量清单。 | 
| 2022-08-31 | 4.4.5 | 2.0.7 | 3.16.2 | |
| 2022-10-24 | 4.4.5 | 2.0.8 | 3.16.2 | libtorrent-rasterbar v2.0.8 修复了内存溢出的问题,因此更新一下qbittorrent。 | 
| 2022-11-09 | 4.3.9 | 1.2.18 | 3.16.2 | 添加 CATEGORY_OR_TAG环境变量,详见环境变量清单;考虑到4.3.9将是许多人的使用版本,将全部新功能重新应用到4.3.9版本中。 | 
| 2022-11-26 | 4.3.94.5.0 | 1.2.182.0.8 | 3.17.0 | alpine升级至3.17.0,升级依赖版本为:boost 1.80.0, openssl 3.0.7, qt 5.16.6, zlib 1.2.13 | 
| 2022-11-30 | 4.5.0 | 1.2.18 | 3.17.0 | 把依赖项 libtorrent-rasterbar从2.0.8切换为1.2.18,应用#17994.patch修复4.5.0版本简体中文无法启用的bug,需要先切换为英文再切换为中文,或者在启动容器前先将config/qBittorrent.conf中General\Locale这一行从zh改为zh_CN。 | 
| 2023-02-13 | 4.5.1 | 1.2.18 | 3.17.2 | 1. 根据版本的不同自动设置 General\Locale为zh或zh_CN;2. 优化auto-catreport-unseed-filestracker-error逻辑,加快运行速度,对多tracker的,只要有一个正常就不标记为TrackerError(有任何一个tracker处于工作``更新中和未联系都不会视作TrackerError,只有在运行脚本当时那一刻全部tracker处于未工作才会标记);3. 切换为qt6并增加依赖qt6-qtbase-sqlite;4. 修复#68,#69。 | 
| 2023-02-28 | 4.5.2 | 2.0.8 | 3.17.2 | 1. libtorrent-rasterbar切换为2.x;2. 再一次优化 tracker-error减少70%时长。 | 
| 2023-05-29 | 4.5.3 | 2.0.9 | 3.18.0 | 1. 再一次优化 report-seed-files减少70%时长;2.dl-finish不再使用%I传参,而使用%K,已经部署好的使用%I也没有问题(除非会有混合种子或v2种子);3. 增加gen-dup脚本,详见“命令”章节。 | 
| 2023-06-19 | 4.5.4 | 2.0.9 | 3.18.2 | gen-dup脚本增加总计输出。 | 
| 2023-08-30 | 4.5.5 | 2.0.9 | 3.18.3 | 抛弃 s6-overlay,直接交给tini来捕获退出信号,在退出/停止容器时qB会自动保存配置和种子进度。定时任务改由低权限运行,日志记录在容器内的/data/diy/crond.log,不再输出到容器控制台。 | 
| 2023-09-06 | 4.5.5 | 2.0.9 | 3.18.3 | 为保证用户安全,防止用户因使用反代并代理了127.0.0.1这种情况导致安全性降低,从2023年9月5日更新的镜像开始,创建容器需要新增设置两个环境变量:QB_USERNAME(登陆qBittorrent的用户名)和QB_PASSWORD(登陆qBittorrent的密码)。容器将在创建时使用这两个环境变量去设置(如已存在配置文件则是修改)登陆qBittorent的用户名和密码。如未设置这两个环境变量,或者保持为qBittorrent的默认值(默认用户名:admin,默认密码:adminadmin),则本容器附加的所有脚本、定时任务将无法继续使用。详情。也因此镜像默认即安装好python,不再需要设置 INSTALL_PYTHON这个环境变量。 | 
| 2023-10-23 | 4.6.0 | 2.0.9 | 3.18.4 | |
| 2023-11-21 | 4.3.94.6.1 | 2.0.9 | 3.18.4 | 增加一个环境变量 TG_API_HOST,同时允许关闭CRON_HEALTH_CHECK和CRON_TRACKER_ERROR,此三项环境变量说明详见 环境变量清单。从此版本起,qBittorrent官方已经设置禁止默认密码,因此请务必设置QB_USERNAME和QB_PASSWORD为非默认值。同步编译的4.3.9版本亦可使用新版本可用的环境变量。 | 
| 2023-11-28 | 4.6.2 | 2.0.9 | 3.18.4 | 修复 UMASK_SET。 | 
| 2024-01-17 | 4.6.3 | 2.0.9 | 3.19.0 | iyuu相关标签将php升级到8.3.x。 | 
| 2024-03-25 | 4.6.4 | 2.0.10 | 3.19.1 | |
| 2024-05-27 | 4.6.5 | 2.0.10 | 3.20.0 | 因 IYUUPlus调整了架构,从此版本起,不再构建集成了IYUUPlus的标签。从此版本起,ENABLE_AUTO_CATEGORY默认值调整为false。 | 
| 2024-08-20 | 4.6.6 | 2.0.10 | 3.20.2 | |
| 2024-09-17 | 4.6.7 | 2.0.10 | 3.20.3 | 下载完成通知也可以设置为下载开始通知,通知中添加主机名。 | 
| 2024-10-08 | 5.0.0 | 2.0.10 | 3.20.3 | 修改 iyuu-help脚本以适应5.0.0带来的API接口变化。 | 
| 2024-10-29 | 5.0.1 | 2.0.10 | 3.20.3 | |
| 2024-11-18 | 5.0.2 | 2.0.10 | 3.20.3 | |
| 2024-12-18 | 5.0.3 | 2.0.10 | 3.21.0 | |
| 2025-03-01 | 5.0.4 | 2.0.11 | 3.21.3 | |
| 2025-04-14 | 5.0.5 | 2.0.11 | 3.21.3 | |
| 2025-04-28 | 5.1.0 | 2.0.11 | 3.21.3 | |
| 2025-06-23 | 5.1.1 | 2.0.11 | 3.22.0 | |
| 2025-07-02 | 5.1.2 | 2.0.11 | 3.22.0 | 
环境变量清单
在下一节的创建命令中,包括已经提及的变量在内,总共以下环境变量,请根据需要参考创建命令中WEBUI_PORT BT_PORT的形式自行补充添加到创建命令中。
注1:默认值的含义是,你不设置这个环境变量为其他值,那么程序就自动使用默认值。
注2:所有定时任务cron类的环境变量(以CRON这四个字母开头的)在docker cli中请用一对双引号引起来,在docker-compose中不要增加引号。
注3:QB_USERNAME和QB_PASSWORD必须改成非默认值,除此以外,其余所有环境变量你都可以不设置,并不影响qbittorrent的使用,但如果你想用得更爽,你就根据你的需要设置。
以下是所有标签均可用的环境变量:
| 序号 | 变量名 | 默认值 | 说明 | 
|---|---|---|---|
| 1 | PUID | 1000 | 用户的uid,输入命令 id -u可以查到,以该用户运行qbittorrent-nox,群晖用户必须改。 | 
| 2 | PGID | 100 | 用户的gid,输入命令 id -g可以查到,以该用户运行qbittorrent-nox,群晖用户必须改。 | 
| 3 | WEBUI_PORT | 8080 | WebUI访问端口,建议自定义,如需公网访问,需要将qBittorrent和公网之间所有网关设备上都设置端口转发。 | 
| 4 | BT_PORT | 34567 | BT监听端口,建议自定义,如需达到 可连接状态,需要将qBittorrent和公网之间所有网关设备上都设置端口转发。 | 
| 5 | QB_USERNAME | admin | 4.5.5+必须设置此环境变量,登陆qBittorrent的用户名,请务必不要使用默认值,如使用默认值将无法使用本镜像的全部脚本。 | 
| 6 | QB_PASSWORD | adminadmin | 4.5.5+必须设置此环境变量,登陆qBittorrent的密码,请务必不要使用默认值,如使用默认值将无法使用本镜像的全部脚本。 | 
| 7 | TZ | Asia/Shanghai | 时区,可填内容详见:https://meetingplanner.io/zh-cn/timezone/cities | 
| 8 | INSTALL_PYTHON | false | 从4.5.5起,默认安装好python,不再需要设置这个环境变量。 true,设置后将在首次启动容器时自动安装好。 | 
| 9 | ENABLE_AUTO_CATEGORY | false | 4.3.7+可用。是否自动按tracker进行分类,设置为 true开启(从4.6.5+起默认值为false,4.6.4-的默认值为true)。 | 
| 10 | CATEGORY_OR_TAG | category | 4.3.9及4.5.0+可用,当 ENABLE_AUTO_CATEGORY=true时,控制自动分类是qBittorrent中的“分类”还是“标签”。设置为category(默认值)为“分类”,设置为tag为“标签”。当设置为tag时,由于标签不是唯一的,无法筛选出没有打上tracker标签的种子,所以运行auto-cat -a和auto-cat -A都将对全部种子按tracker打标签,种子多时比较耗时;而当设置为category时,运行auto-cat -a就只对未分类种子进行分类。 | 
| 11 | DL_FINISH_NOTIFY | false | 是否在下载完成时向设定的通知渠道发送种子下载完成的通知消息,设置为 true开启(从4.6.5+起默认值为false,4.6.4-的默认值为true)。 | 
| 12 | TRACKER_ERROR_COUNT_MIN | 3 | 4.3.7+可用。可以设置的值:正整数。在检测到tracker出错的种子数量超过这个阈值时,给设置的通知渠道发送通知。 | 
| 13 | UMASK_SET | 权限掩码 umask,指定qBittorrent在建立文件时预设的权限掩码。 | |
| 14 | TG_USER_ID | 通知渠道telegram,如需使用需要和 TG_BOT_TOKEN 同时赋值,私聊 @getuseridbot 获取。 | |
| 15 | TG_BOT_TOKEN | 通知渠道telegram,如需使用需要和 TG_USER_ID 同时赋值,私聊 @BotFather 获取。 | |
| 16 | TG_PROXY_ADDRESS | 4.3.7+可用。给TG机器人发送消息的代理地址,当设置了 TG_USER_ID和TG_BOT_TOKEN后可以设置此值,形如:http://192.168.1.1:7890,也可以不设置。 | |
| 17 | TG_PROXY_USER | 4.3.7+可用。给TG机器人发送消息的代理的用户名和密码,当设置了 TG_PROXY_ADDRESS后可以设置此值,格式为:<用户名>:<密码>,形如:admin:password,如没有可不设置。 | |
| 18 | TG_API_HOST | 4.6.1+可用。Telegram 的反代 API,如果设置了就改为向你的反代 API 发送消息,不设置则向官方 API 发送消息。 | |
| 19 | DD_BOT_TOKEN | 通知渠道钉钉,如需使用需要和 DD_BOT_SECRET 同时赋值,机器人设置中webhook链接 access_token=后面的字符串(不含=以及=之前的字符)。 | |
| 20 | DD_BOT_SECRET | 通知渠道钉钉,如需使用需要和 DD_BOT_TOKEN 同时赋值,机器人设置中只启用 加签,加签的秘钥,形如:SEC1234567890abcdefg。 | |
| 21 | IYUU_TOKEN | 通知渠道爱语飞飞,通过 这里 获取,爱语飞飞的TOKEN。 | |
| 22 | SCKEY | 通知渠道ServerChan,通过 这里 获取。 | |
| 23 | PUSHPLUS_TOKEN | 4.3.7+可用。通知渠道PUSH PLUS,填入其token,详见 这里。 | |
| 24 | WORK_WECHAT_BOT_KEY | 4.3.9及4.4.3+可用。通知渠道企业微信群机器人,填入机器人设置webhook链接中 key=后面的字符串,不含key=。 | |
| 25 | GOTIFY_URL | 4.3.9及4.4.4+可用。通知渠道Gotify,填入其通知网址,需要和 GOTIFY_APP_TOKEN同时赋值。 | |
| 26 | GOTIFY_APP_TOKEN | 4.3.9及4.4.4+可用。通知渠道Gotify,填入其TOKEN,需要和 GOTIFY_URL同时赋值。 | |
| 27 | GOTIFY_PRIORITY | 5 | 4.3.9及4.4.4+可用。通知渠道Gotify,发送消息的优先级。 | 
| 28 | CRON_HEALTH_CHECK | 12 * * * * | 宕机检查的cron,在设定的cron运行时如发现qbittorrent-nox宕机了,则向设置的通知渠道发送通知。4.6.1+可以设置为 off,意为关闭此定时任务。 | 
| 29 | CRON_AUTO_CATEGORY | 32 */2 * * * | 自动分类的cron,在设定的cron运行 auto-cat -a命令,将所有未分类种子按tracker分类(当CATEGORY_OR_TAG=category时),或将所有种子按tracker打标签(当CATEGORY_OR_TAG=tag时)。对于种子很多的大户人家,建议把cron频率修改低一些,一天一次即可。此cron可以由ENABLE_AUTO_CATEGORY关闭,关闭后不生效。虽然本变量是全版本有效,但控制采用“分类”还是“标签”的变量CATEGORY_OR_TAG仅4.3.9和4.5.0+有效。 | 
| 30 | CRON_TRACKER_ERROR | 52 */4 * * * | 检查tracker状态是否健康的cron,在设定的cron将检查所有种子的tracker状态,如果有问题就打上 TrackerError的标签。在运行的时候比较吃资源,所以对于种子很多的大户人家,或者是对此不那么敏感的用户,建议把cron频率修改低一些,一天一次即可。4.6.1+可以设置为off,意为关闭此定时任务。 | 
| 31 | MONITOR_IP | 4.3.8+可用。可设置为局域网设备的ip,多个ip以半角空格分隔,形如: 192.168.1.5 192.168.1.9 192.168.1.20。本变量作用:当检测到这些设置的ip中有任何一个ip在线时(检测频率为每分钟),自动启用qbittorent客户端的“备用速度限制”,如果都不在线就关闭“备用速度限制”。“备用速度限制”需要事先设置好限制速率,建议在路由器上给需要设置的设备固定ip。在docker cli中请使用一对双引号引起来,在docker-compose中不要使用引用。 | |
| 32 | CRON_ALTER_LIMITS | 4.3.8+可用。启动和关闭“备用速度限制“的cron,主要针对多时段限速场景,当设置了 MONITOR_IP时本变量的cron不生效(因为会冲突)。详见 相关问题13 问题13。 | |
| 33 | CRON_IYUU_HELP | 4.3.8+可用。IYUUPlus辅助任务的cron,自动重校验、自动恢复做种,详见 相关问题14。 | |
| 34 | EXTRA_PACKAGES | 4.3.9+可用。你需要安装的其他软件包,形如 htop nano nodejs,多个软件包用半角空格分开,在docker cli中请用一对双引号引起来,在docker-compose中不要增加引号。 | 
以下是仅iyuu标签额外可用的环境变量:
| 序号 | 变量名 | 默认值 | 说明 | 
|---|---|---|---|
| 1 | IYUU_REPO_URL | https://gitee.com/ledc/iyuuplus.git | 指定从哪里获取IYUUPlus的代码,默认从gitee更新,如果你想从github更新,可以设置为: https://github.com/ledccn/IYUUPlus.git | 
创建
群晖












安装后访问http://ip:8080。如想使用集成了IYUUPlus的qBittorrent(自动设置好IYUUPlus中的下载器),请使用docker cli以命令行方式部署。
命令行docker cli
- 
除 WEBUI_PORTBT_PORTPUIDPGID这几个环境变量外,如果你还需要使用其他环境变量,请根据环境变量清单按照-e 变量名="变量值" \的形式自行添加在创建命令中。
- 
armv7设备如若无法使用网络,可能是seccomp问题,详见 这里。可以在创建命令中增加一行 --security-opt seccomp=unconfined \来解决。
- 
创建完成后请访问 http://<IP>:<WEBUI_PORT>(如未修改,对安装机默认是http://127.0.0.1:8080)来对qbittorrent作进一步设置,初始用户名密码:admin/adminadmin。如要在公网访问,请务必修改用户名和密码。
- 
针对 iyuu标签,创建后可访问http://<IP>:8787进行IYUUPlus设置。
|  |  | 
docker compose
新建compose.yml文件如下(docker compose安装方法),创建好后以docker-compose up -d(旧版)或docker compose up -d(新版)命令启动即可。
|  |  | 
如若想将qbittorrent建立在已经创建好的macvlan网络上,可以按如下方式创建:
|  |  | 
- 
创建完成后请访问 http://<IP>:<WEBUI_PORT>(如未修改,对安装机默认是http://127.0.0.1:8080)来对qbittorrent作进一步设置,初始用户名密码:admin/adminadmin。如要在公网访问,请务必修改用户名和密码。
- 
针对 iyuu标签,创建后可访问http://<IP>:8787进行IYUUPlus设置。
目录说明
如果按照上述任何一种部署方式,在映射的目录下会有以下文件夹:
|  |  | 
有两个星号标记的文件或目录是重要目录,恢复数据必须要有这几个。
在 这里 可以查阅所有可用的非官方webui。
相关问题
使用此镜像会导致封号吗
此镜像未修改qbittorrent客户端官方任何信息,在和pt站tracker服务器交互时反馈的一切信息均是qbittorrent官方原版反馈的信息,此镜像只是基于qbittorrent额外增加了一些脚本而已。增加的脚本全部代码在 这里 可以查看,不会因为使用此镜像导致pt账号被封。
如何在运行 dl-finish “%K” 时调用自定义脚本
- 
此功能可用版本:4.3.7+; 
- 
在4.5.0以前的版本不能使用 %K,只能使用%I;
- 
只要你将名为 diy.sh的shell脚本放在映射目录下的diy文件夹下即可,容器内路径为/data/diy/diy.sh(hash已存储在名为torrent_hash的变量中,可通过此值获取其他信息)。
- 
如想传入除“%K”种子ID之外的其他参数,可以在 设置->下载->Torrent 完成时运行外部程序 下填入这种形式: dl-finish "%K" "%N" "%L" "%F",必须保证”%K"是第一个参数,后面的参数根据你自己需要调整。在diy.sh中,"%N" "%L" "%F"分别通过$2 $3 $4调用。如:cmd "$2" "$3 "$4"。$2, $3, $4分别指传入的第2, 第3, 第4个参数,分别对应"%N" "%L" "%F"。
- 
假如你要调用其他语言的脚本,比如python,可以在 diy.sh中写上python3 /data/diy/your_python_scripts.py $torrent_hash即可。如需要传入更多参数,请参考上一条在“Torrent 完成时运行外部程序”填入形如dl-finish "%K" "%N" "%L" "%F"的形式,然后在diy.sh中写上python3 /data/diy/your_python_scripts.py "$2" "$3" "$4"。
- 
如需要下载完成后自动触发EMBY/JELLYFIN扫描媒体库,触发ChineseSubFinder自动为刚刚下载完成的视频自动下载字幕,请按照 这里 操作。 
如何优雅的关闭qbittorrent容器
- 
暴力强制关闭qbittorrent容器自然是容易丢失任务的,所以在关闭前应当先将所有种子暂停,过一会再关闭容器。这时,所有的配置文件和torrent恢复文件也都是暂停后的状态,然后再新建容器或重新部署,启动后再开始所有任务。 
- 
还有一点要注意,千万不要在有下载任务时关闭或重启qbittorrent容器。 
如何从其他作者的镜像/套件版转移至本镜像
- 
如果启用了ssl/https,请先在原qbittorrent的webui中禁用,或者将 qBittorrent.conf中WebUI\HTTPS\Enabled=true改为WebUI\HTTPS\Enabled=false。
- 
请注意要优雅的关闭旧容器后再处理配置文件。 
- 
进入原来容器的映射目录(或原套件版配置文件保存目录,可能是隐藏的)下,在config下分别找到 qBittorrent.confqBittorrent-data.confrss,在data下找到BT_backup或torrents.db,然后将其参考上面的目录树放在新容器的映射目录下,然后在创建容器时,保证新容器中的下载文件的保存路径和旧容器一致,并新建容器即可。
- 
举例说明如何保证新容器中的下载文件的保存路径和旧容器一致,比如旧容器中下载了一个 xxx.2020.BluRay.1080p.x264.DTS-XXX,保存路径为/movies(宿主机上的真实路径为/volume1/home/id/movies),那么在新建新容器时,给新容器增加一个路径映射:/volume1/home/id/movies:/movies即可。
- 
注意新容器的PUID/PGID和要旧容器保持一致。 
- 
注意在 设置->下载中勾选Torrent 完成时运行外部程序并填入dl-finish "%K",如需要https要重新设置证书路径。
可不可以不使用默认下载目录
默认下载目录是/data/downloads,如不想使用默认下载目录,可以额外映射其他路径,比如映射/volume1/media:/media,然后在qbittorrent中设置默认下载目录为/media,也可以在每次下载时自己输入下载目录为/media。
遗忘登陆密码如何重置
重启一次容器即可,启动时容器会自动以你创建容器时定义的环境变量QB_USERNAME和QB_PASSWORD去设置登陆qBittorrent的用户名和密码。
如何与emby, jellyfin, plex等等配合使用
将需要配合使用的容器的环境变量PUID/PGID设置为一样的即可。
启用了其他非官方webui,导致webui打不开,如何关闭
|  |  | 
如何自动更新容器
安装watchtower即可,详见 这里
安装了watchtower,如何让qbittorrent不被watchtower自动更新
- 
方法1:部署qbittorrent容器时,直接指定标签,如 nevinee/qbittorrent:4.3.7;
- 
方法2(推荐):在部署时在命令中添加一个label: com.centurylinklabs.watchtower.enable=false:docker cli: 1--label com.centurylinklabs.watchtower.enable=false \docker-compose: 1 2labels: com.centurylinklabs.watchtower.enable: false
为何建议将qbittorrent安装在macvlan网络上
- 
可以在网关上给qbittorrent所在ip独立设置限速; 
- 
如果有用openwrt时,可以让qbittorrent所在ip跳过代理。 
将qbittorrent安装在macvlan网络上时,如何使用IYUUAutoReseed自动辅种
将两个容器都安装在同一个macvlan网络上即可,或者直接安装nevinee/qbittorrent:iyuu标签。
如何使用 CRON_ALTER_LIMITS 这个环境变量
- 
4.3.8+可用。 
- 
该功能主要提供给多时段限速场景使用,请在qbittorrent客户端中先设置好”备用速度限制“的限制速率。 
- 
当设置了有效的 MONITOR_IP时,CRON_ALTER_LIMITS的cron不生效(因为会冲突)。
- 
设置形式如: 0 5 * * *:0 18 * * *|0 8 * * *:0 22 * * *,|前面的cron是启用“备用速度限制”的时间点,|后面的cron是关闭“备用速度限制”的时间点。需要在一天中多次启用“备用速度限制”的,以:分隔每个cron,可以任意个cron,需要多次关闭“备用速度限制”的同样以:分隔每个cron。
- 
比如需要在周一至周五的5:00-8:00、17:30-23:30,以及周六、周日的9:00-23:30进行限速,那么可以设置 CRON_ALTER_LIMITS为0 5 * * 1-5:30 17 * * 1-5:0 9 * * 0,6|0 8 * * 1-5:30 23 * * *。
- 
比如需要在周一至周五的17:30-22:00,以及周六、周日的8:30-23:00进行限速,那么可以设置 CRON_ALTER_LIMITS为30 17 * * 1-5:30 8 * * 0,6|0 22 * * 1-5:0 23 * * 0,6。
- 
在docker cli中请使用一对双引号引起来,在docker-compose.yml中请勿增加引号。 
如何使用 CRON_IYUU_HELP 这个环境变量
- 
4.3.8+可用。 
- 
在设置的时间点执行 iyuu-help命令,实现以下功能:- 检查下载清单(就是qbittorrent筛选“下载”的清单),检测该清单中处于暂停状态、并且下载完成率为0%(辅种的种子在校验前也是0%)的种子,将这些种子请求重新校验。已经请求过校验并且完成率大于0%的种子不会再次校验。
- 检查暂停清单(就是qbittorrent筛选“暂停”的清单),检测该清单中100%下载完成/100%校验通过的种子,将这些种子恢复做种。校验未通过不达100%完成率的种子不会启动,仍然保持暂停状态。
 
- 
配合IYUUAutoReseed,将CRON_IYUU_HELP设置在IYUUAutoReseed自动辅种任务的cron以后,并运行若干次即可(因为校验比较费时,所以要多次运行)。 
- 
比如你IYUUAutoReseed辅种任务的cron是 22 7 * * *,你想从辅种任务3分钟后,每10分钟运行一次,共运行4次,那么可以设置CRON_IYUU_HELP为:25-55/10 7 * * *。
- 
在docker cli中请使用一对双引号引起来,在docker-compose.yml中请勿增加引号。 
qBittorrent使用https的webui时,iyuu如何连接
- 
当qBittorrent使用https的webui时,iyuu连接qBittorrent需要使用 https://<域名>:<端口>的形式,不能使用https://<IP>:<端口>,所以需要在创建iyuu容器(使用nevinee/qbittorrent:iyuu时同样也需要)指定域名和ip的对应关系。
- 
命令行创建iyuu容器时时,增加 --add-host <域名>:<qBittorrent容器的IP>,其中域名是你在公网上访问qBittorrent的webui的域名,如果直接使用的nevinee/qbittorrent:iyuu标签,就是--add-host <域名>:127.0.0.1。
- 
docker compose创建时,增加以下内容: 1 2extra_hosts: - "<域名>:<qBittorrent容器的IP>" ## 如果直接使用的`nevinee/qbittorrent:iyuu`标签,IP就是127.0.0.1
qBittorrent占用了巨大的内存,如何调整
你所见到的占用巨大的内存并不是真的占用了,使用docker stats qbittorrent输出的内存占用更准确一点,其他方式输出的内存占用会非常的大。因为libtorrent-rasterbar v2.x把内存使用交给内核来处理,内核会自己根据内存大小和读取频次来自动决定怎么去缓存,所以不要被看起来庞大的内存占用给吓着了。详见libtorrent-rasterbar作者的原话。
谷歌翻译如下:
总结一下,libtorrent2.0使用内存映射文件。在除windows之外的所有现代操作系统上,在块设备级别使用统一的页面缓存,其中匿名内存(由swapfile支持)和内存映射文件(包括共享库,运行可执行文件)都是同一缓存的一部分。Linux可能是决定如何在物理RAM中平衡这些页面的最复杂的工具。 使用内存映射文件的好处主要有: 内核(它知道机器有多少物理RAM可用)最了解何时以及以何种顺序刷新缓存。也许更重要的是,决定保留读缓存的数量和时间。 某些类型的存储可以由CPU直接寻址,就像它是RAM一样,绕过了许多内核基础设施,并提供了非常高的性能。(linux称此DAX) 此外,当报告libtorrent(特别是mmap磁盘后端)中的问题时,仅仅指出vmstats数字表明内核决定使用大量物理内存进行磁盘缓存是不够的。这是内存映射磁盘后端的一个特性。
qB老是不监听IPv6地址,怎么办?
有很多原因会导致qBittorrent没有监听IPv6,比如你的IPv6地址变了,比如启动qBittorrent时还没有获取到IPv6等等。看看有没有成功监听到IPv6,只需要在日志中查看本次启动后有没有出现这样的字样即可:
|  |  | 
如果没有出现类似这样的日志,或者出的日志中的IPv6地址不是当前最新的地址,那么你可以操作:先将 “设置->高级->绑定到的可选IP地址” 选择最新的IPv6地址,保存一次;然后再将其设置为 “所有地址” 后再重新保存一次。过一会日志中就会出现正常的信息了。
命令
自动运行的命令(所有标签可用,由设置的cron或在下载完成时自动运行,当然也可以手动运行)
|  |  | 
需要手动运行的命令(所有标签可用)
|  |  | 
仅“iyuu”标签可用的命令
|  |  | 
参考
- 
crazymax/qbittorrent , 参考了Dockerfile; 
- 
80x86/qbittorrent, 借鉴了标签和分类的理念。 
源代码、问题反馈、意见建议
如果镜像好用,请点亮star。全套代码见 Github 或 Gitee。如有使用上的问题,或者有其他好的功能建议,请直接在本文下方评论,或者在 Github这里 或 Gitee这里 提交。
提交bug必须反馈的信息,如不反馈以下信息,我就直接无视了。
- 
创建命令或 docker-compose.yml文件,请自行对密码打码;
- 
使用的docker镜像的tag,以及qBittorrent的版本; 
- 
进入容器后运行 bash -x /usr/local/bin/<命令名>如bash -x /usr/local/bin/report-seed-files的输出(什么命令出错你就反馈什么命令的内容),请自行对密码打码。
