本文较长,如想略过某些内容,请直接点击右侧目录链接。
说明
为保证用户安全,防止用户因使用反代并代理了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自动为刚刚下载完成的视频自动下载字幕,请按照 这里 操作。
-
(从2023年9月5日起,默认安装好python,不再需要设置这一项。)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_URL GOTIFY_APP_TOKEN GOTIFY_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-cat report-unseed-files tracker-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 的标签。 |
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接口变化。 |
环境变量清单
在下一节的创建命令中,包括已经提及的变量在内,总共以下环境变量,请根据需要参考创建命令中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_PORT
BT_PORT
PUID
PGID
这几个环境变量外,如果你还需要使用其他环境变量,请根据环境变量清单按照-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.conf
qBittorrent-data.conf
rss
,在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 2
labels: 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 2
extra_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
的输出(什么命令出错你就反馈什么命令的内容),请自行对密码打码。