通過docker安裝qbittorrent

說明

為保證用戶安全邪驮,防止用戶因使用反代并代理了127.0.0.1這種情況導致安全性降低咐扭,從2023年9月5日更新的鏡像開始蜕企,創(chuàng)建容器需要新增設置兩個環(huán)境變量:QB_USERNAME(登陸qBittorrent的用戶名)和QB_PASSWORD(登陸qBittorrent的密碼)劲厌。容器將在創(chuàng)建時使用這兩個環(huán)境變量去設置(如已存在配置文件則是修改)登陸qBittorent的用戶名和密碼懊渡。如未設置這兩個環(huán)境變量刽射,或者保持為qBittorrent的默認值(默認用戶名:admin,默認密碼:adminadmin)剃执,則本容器附加的所有腳本誓禁、定時任務將無法繼續(xù)使用。詳情肾档。也因此鏡像默認即安裝好python摹恰,不再需要設置INSTALL_PYTHON這個環(huán)境變量。

聲明

本鏡像非魔改版阁最、非快驗版戒祠、非Enhanced增強版,qBittorrent自身的行為/功能全部未做任何改動(也不會考慮添加或修改官方客戶端行為/功能的內(nèi)容)速种,全部屬于官方客戶端的默認行為/功能姜盈,在和PT站Tracker服務器交互時反饋的一切信息均是qBittorrent官方版反饋的信息。本鏡像只是基于官方客戶端附加了一些實用的腳本配阵,腳本全部是合理合法使用qBittorrent官方API獲取信息馏颂,腳本全部行為都集中在本地,與任何遠端服務器無任何聯(lián)系棋傍。增加的腳本全部代碼在 GithubGitee 均可查看 救拉。絕對不會因為使用此鏡像而導致賬號被封。

特點

  • 自動按tracker分類或打標簽(可以選擇關閉瘫拣,可以選擇采用qBittorrent中的“分類”還是“標簽”)亿絮。

  • 下載完成發(fā)送通知(可以選擇關閉),可選途徑:釘釘(效果圖), Telegram, ServerChan, 愛語飛飛, PUSHPLUS推送加, 企業(yè)微信, Gotify麸拄;搭配RSS功能(RSS教程)自動下載效果很好派昧;下載完成后還可以補充運行你的自定義腳本。

  • 故障時發(fā)送通知拢切,可選途徑同上蒂萎。

  • 按設定的cron檢查tracker狀態(tài),如發(fā)現(xiàn)種子的tracker狀態(tài)有問題淮椰,將給該種子添加TrackerError的標簽五慈,方便篩選纳寂;如果tracker出錯數(shù)量超過設定的閾值,給設定渠道發(fā)送通知泻拦。

  • 一些輔助功能:批量修改tracker毙芜;檢測指定文件夾下未做種的子文件夾/文件;生成做種文件清單聪轿;生成未做種文件清單爷肝;配合IYUU自動重新校驗和自動恢復做種;指定設備上線時自動限速陆错;多時段限速灯抛;分析指定目錄的重復做種率(輔種率)等等。

  • 如需要下載完成后自動觸發(fā)EMBY/JELLYFIN掃描媒體庫音瓷,觸發(fā)ChineseSubFinder自動為剛剛下載完成的視頻自動下載字幕对嚼,請按照 這里 操作。

  • 日志輸出到docker控制臺绳慎,可從portainer查看纵竖。

  • python為可選安裝項,設置為true就自動安裝杏愤。

  • 體積小靡砌,默認中文UI,默認東八區(qū)時區(qū)珊楼。

  • iyuu標簽集成了IYUUPlus通殃,自動設置好下載器,減少IYUUPlus設置復雜程度厕宗。

標簽

  1. 4.x.x , latest: 標簽以純數(shù)字版本號命名画舌,這是qBittorrent正式發(fā)布的穩(wěn)定版,其中最新的版本額外增加latest標簽已慢。Qt: 6.5.2 Libtorrent: 2.0.9 Boost: 1.82.0 OpenSSL:3.1.2 zlib: 1.2.13曲聂。

  2. 4.x.x-iyuu , latest-iyuu , iyuu: 標簽中帶有iyuu字樣,基于qBittorrent穩(wěn)定版集成了IYUUPlus佑惠,其中最新的版本額外增加latest-iyuuiyuu標簽朋腋,自動安裝好IYUUPlus,自動設置好下載器膜楷,主要針對不會設置下載器的用戶乍丈。

  3. x.x.xalphax, x.x.xbetax , x.x.xrcx , unstable: 標簽中帶有alphabetarc字樣把将,這是qBittorrent發(fā)布的測試版,其中最新的測試版額外增加unstable 標簽忆矛。此標簽僅供測試使用及向qBittorrent官方反饋bug使用察蹲。

  4. edge: 基于alpine:edge制作的鏡像请垛,體積最小,所依賴的組件版本最新洽议,會提供riscv64版本鏡像宗收。所有新功能或者BUG修復,或者有任何變化時亚兄,都會第一時間更新到此標簽混稽。Qt: 6.5.2 Libtorrent: 2.0.9 Boost: 1.82.0 OpenSSL: 3.1.2 zlib: 1.3

更新日志(僅列出穩(wěn)定版)

詳見:GithubGitee

環(huán)境變量清單

在下一節(jié)的創(chuàng)建命令中审胚,包括已經(jīng)提及的變量在內(nèi)匈勋,總共以下環(huán)境變量,請根據(jù)需要參考創(chuàng)建命令中WEBUI_PORT BT_PORT的形式自行補充添加到創(chuàng)建命令中膳叨。

注1:默認值的含義是洽洁,你不設置這個環(huán)境變量為其他值,那么程序就自動使用默認值菲嘴。

注2:所有定時任務cron類的環(huán)境變量(以CRON這四個字母開頭的)在docker cli中請用一對雙引號引起來饿自,在docker-compose中不要增加引號。

注3:所有環(huán)境變量你都可以不設置龄坪,并不影響qbittorrent的使用昭雌,但如果你想用得更爽,你就根據(jù)你的需要設置健田。

以下是所有標簽均可用的環(huán)境變量:

序號 變量名 默認值 說明
1 S6_SERVICES_GRACETIME 3000(qb<=4.3.9)
30000(qb>=4.4.0)
在關閉/重啟/重建容器時烛卧,關閉容器內(nèi)程序(主要就是qbittorrent程序)前的最長等待時間(單位:毫秒)。具體見 相關問題 問題16抄课。建議4.3.9及以下版本設置為30000唱星。
2 PUID 1000 用戶的uid,輸入命令id -u可以查到跟磨,以該用戶運行qbittorrent-nox间聊,群暉用戶必須改。
3 PGID 100 用戶的gid抵拘,輸入命令id -g可以查到哎榴,以該用戶運行qbittorrent-nox,群暉用戶必須改僵蛛。
4 WEBUI_PORT 8080 WebUI訪問端口尚蝌,建議自定義,如需公網(wǎng)訪問充尉,需要將qBittorrent和公網(wǎng)之間所有網(wǎng)關設備上都設置端口轉(zhuǎn)發(fā)飘言。
5 BT_PORT 34567 BT監(jiān)聽端口,建議自定義驼侠,如需達到可連接狀態(tài)姿鸿,需要將qBittorrent和公網(wǎng)之間所有網(wǎng)關設備上都設置端口轉(zhuǎn)發(fā)谆吴。
6 QB_USERNAME admin 4.5.5+必須設置此環(huán)境變量,登陸qBittorrent的用戶名苛预,請務必不要使用默認值句狼。
7 QB_PASSWORD adminadmin 4.5.5+必須設置此環(huán)境變量,登陸qBittorrent的密碼热某,請務必不要使用默認值腻菇。
8 TZ Asia/Shanghai 時區(qū),可填內(nèi)容詳見:https://meetingplanner.io/zh-cn/timezone/cities
9 INSTALL_PYTHON false 從4.5.5起昔馋,默認安裝好python筹吐,不再需要設置這個環(huán)境變量。默認不安裝python绒极,如需要python(qBittorrent的搜索功能必須安裝python)骏令,請設置為true,設置后將在首次啟動容器時自動安裝好垄提。
10 ENABLE_AUTO_CATEGORY true 4.3.7+可用榔袋。是否自動按tracker進行分類,默認為true開啟铡俐,如需關閉凰兑,請設置為false
11 CATEGORY_OR_TAG category 4.3.9及4.5.0+可用审丘,當ENABLE_AUTO_CATEGORY=true時吏够,控制自動分類是qBittorrent中的“分類”還是“標簽”。設置為category(默認值)為“分類”滩报,設置為tag為“標簽”锅知。當設置為tag時,由于標簽不是唯一的脓钾,無法篩選出沒有打上tracker標簽的種子售睹,所以運行auto-cat -aauto-cat -A都將對全部種子按tracker打標簽,種子多時比較耗時可训;而當設置為category時昌妹,運行auto-cat -a就只對未分類種子進行分類。
12 DL_FINISH_NOTIFY true 默認會在下載完成時向設定的通知渠道發(fā)送種子下載完成的通知消息握截,如不想收此類通知飞崖,則設置為false
13 TRACKER_ERROR_COUNT_MIN 3 4.3.7+可用谨胞」掏幔可以設置的值:正整數(shù)。在檢測到tracker出錯的種子數(shù)量超過這個閾值時胯努,給設置的通知渠道發(fā)送通知昼牛。
14 UMASK_SET 000 權限掩碼umask术瓮,指定qBittorrent在建立文件時預設的權限掩碼,可以設置為022贰健。
15 TG_USER_ID 通知渠道telegram,如需使用需要和 TG_BOT_TOKEN 同時賦值恬汁,私聊 @getuseridbot 獲取伶椿。
16 TG_BOT_TOKEN 通知渠道telegram,如需使用需要和 TG_USER_ID 同時賦值氓侧,私聊 @BotFather 獲取脊另。
17 TG_PROXY_ADDRESS 4.3.7+可用。給TG機器人發(fā)送消息的代理地址约巷,當設置了TG_USER_IDTG_BOT_TOKEN后可以設置此值偎痛,形如:http://192.168.1.1:7890,也可以不設置独郎。
18 TG_PROXY_USER 4.3.7+可用踩麦。給TG機器人發(fā)送消息的代理的用戶名和密碼,當設置了TG_PROXY_ADDRESS后可以設置此值氓癌,格式為:<用戶名>:<密碼>谓谦,形如:admin:password,如沒有可不設置贪婉。
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+可用拍皮。通知渠道企業(yè)微信群機器人歹叮,填入機器人設置webhook鏈接中key=后面的字符串跑杭,不含key=
25 GOTIFY_URL 4.3.9及4.4.4+可用咆耿。通知渠道Gotify德谅,填入其通知網(wǎng)址,需要和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吻商,發(fā)送消息的優(yōu)先級掏颊。
28 CRON_HEALTH_CHECK 12 * * * * 宕機檢查的cron,在設定的cron運行時如發(fā)現(xiàn)qbittorrent-nox宕機了艾帐,則向設置的通知渠道發(fā)送通知乌叶。
29 CRON_AUTO_CATEGORY 32 */2 * * * 自動分類的cron,在設定的cron運行auto-cat -a命令掩蛤,將所有未分類種子按tracker分類(當CATEGORY_OR_TAG=category時)枉昏,或?qū)⑺蟹N子按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狀態(tài)是否健康的cron匾南,在設定的cron將檢查所有種子的tracker狀態(tài),如果有問題就打上TrackerError的標簽蛔外。在運行的時候比較吃資源蛆楞,所以對于種子很多的大戶人家,或者是對此不那么敏感的用戶夹厌,建議把cron頻率修改低一些豹爹,一天一次即可。
31 MONITOR_IP 4.3.8+可用矛纹”哿可設置為局域網(wǎng)設備的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。
33 CRON_IYUU_HELP 4.3.8+可用感局。IYUUPlus輔助任務的cron尼啡,自動重校驗像云、自動恢復做種柳琢,詳見 相關問題 問題14积仗。
34 EXTRA_PACKAGES 4.3.9+可用藤滥。你需要安裝的其他軟件包委造,形如htop nano nodejs伪阶,多個軟件包用半角空格分開腺办,在docker cli中請用一對雙引號引起來腕扶,在docker-compose中不要增加引號藻雌。

以下是僅iyuu標簽額外可用的環(huán)境變量:

序號 變量名 默認值 說明
1 IYUU_REPO_URL https://gitee.com/ledc/iyuuplus.git 指定從哪里獲取IYUUPlus的代碼雌续,默認從gitee更新,如果你想從github更新胯杭,可以設置為:https://github.com/ledccn/IYUUPlus.git

創(chuàng)建

群暉

1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
10.png
11.png
12.png

安裝后訪問http://ip:8080驯杜。如想使用集成了IYUUPlus的qBittorrent(自動設置好IYUUPlus中的下載器),請使用docker cli以命令行方式部署做个。

命令行docker cli

  • WEBUI_PORT BT_PORT PUID PGID這幾個環(huán)境變量外鸽心,如果你還需要使用其他環(huán)境變量,請根據(jù)環(huán)境變量清單按照-e 變量名="變量值" \的形式自行添加在創(chuàng)建命令中居暖。

  • armv7設備如若無法使用網(wǎng)絡顽频,可能是seccomp問題,詳見 這里膝但〕寰牛可以在創(chuàng)建命令中增加一行--security-opt seccomp=unconfined \ 來解決。

  • 創(chuàng)建完成后請訪問http://<IP>:<WEBUI_PORT>(如未修改,對安裝機默認是http://127.0.0.1:8080)來對qbittorrent作進一步設置莺奸,初始用戶名密碼:admin/adminadmin丑孩。如要在公網(wǎng)訪問,請務必修改用戶名和密碼灭贷。

  • 針對iyuu標簽温学,創(chuàng)建后可訪問http://<IP>:8787進行IYUUPlus設置。

## latest標簽或unstable標簽
docker run -dit \
  -v $PWD/qbittorrent:/data `# 冒號左邊請修改為你想在本地保存的路徑甚疟,這個路徑用來保存你個人的配置文件` \
  -e PUID="1000"        `# 輸入id -u可查詢仗岖,群暉必須改` \
  -e PGID="100"         `# 輸入id -g可查詢,群暉必須改` \
  -e WEBUI_PORT="8080"  `# WEBUI控制端口览妖,可自定義` \
  -e BT_PORT="34567"    `# BT監(jiān)聽端口轧拄,可自定義` \
  -p 8080:8080          `# 冒號左右一樣,要和WEBUI_PORT一致讽膏,命令中的3個8080要改一起改` \
  -p 34567:34567/tcp    `# 冒號左右一樣檩电,要和BT_PORT一致,命令中的5個34567要改一起改` \
  -p 34567:34567/udp    `# 冒號左右一樣府树,要和BT_PORT一致俐末,命令中的5個34567要改一起改` \
  --tmpfs /tmp \
  --restart always \
  --name qbittorrent \
  --hostname qbittorrent \
  nevinee/qbittorrent   `# 如想?yún)⑴cqbittorrent測試工作,可以指定測試標簽nevinee/qbittorrent:unstable`

## iyuu標簽
docker run -dit \
  -v $PWD/qbittorrent:/data `# 冒號左邊請修改為你想在本地保存的路徑奄侠,這個路徑用來保存你個人的配置文件` \
  -e PUID="1000"        `# 輸入id -u可查詢卓箫,群暉必須改` \
  -e PGID="100"         `# 輸入id -g可查詢,群暉必須改` \
  -e WEBUI_PORT="8080"  `# WEBUI控制端口垄潮,可自定義` \
  -e BT_PORT="34567"    `# BT監(jiān)聽端口烹卒,可自定義` \
  -p 8080:8080          `# 冒號左右一樣,要和WEBUI_PORT一致魂挂,命令中的3個8080要改一起改` \
  -p 34567:34567/tcp    `# 冒號左右一樣甫题,要和BT_PORT一致,命令中的5個34567要改一起改` \
  -p 34567:34567/udp    `# 冒號左右一樣涂召,要和BT_PORT一致坠非,命令中的5個34567要改一起改` \
  -p 8787:8787          `# IYUUPlus的WebUI控制端口` \
  --tmpfs /tmp \
  --restart always \
  --name qbittorrent \
  --hostname qbittorrent \
  nevinee/qbittorrent:iyuu

docker compose

新建compose.yml文件如下(docker compose安裝方法),創(chuàng)建好后以docker-compose up -d(舊版)或docker compose up -d(新版)命令啟動即可果正。

version: "2.0"
services:
  qbittorrent:
    image: nevinee/qbittorrent  # 如想?yún)⑴c測試工作可以指定nevinee/qbittorrent:unstable炎码,如想使用集成了iyuu的版本請指定nevinee/qbittorrent:iyuu
    container_name: qbittorrent
    restart: always
    tty: true
    network_mode: bridge
    hostname: qbitorrent
    stop_grace_period: 10m # 讓qBittorrent程序自行退出后再關閉/刪除/重啟容器的最長時間,如不設置秋泳,則docker默認10秒潦闲,這時,種子多的qBittorrent可能還沒有完全保存好全部需要保存的信息迫皱。
    volumes:
      - ./data:/data      # 配置保存目錄
    tmpfs:
      - /tmp
    environment:          # 下面未列出的其他環(huán)境變量請根據(jù)環(huán)境變量清單自行添加
      - WEBUI_PORT=8080   # WEBUI控制端口歉闰,可自定義
      - BT_PORT=34567     # BT監(jiān)聽端口辖众,可自定義
      - PUID=1000         # 輸入id -u可查詢,群暉必須改
      - PGID=100          # 輸入id -g可查詢和敬,群暉必須改
    ports:
      - 8080:8080        # 冒號左右一致凹炸,必須同WEBUI_PORT一樣,本文件中的3個8080要改一起改
      - 34567:34567      # 冒號左右一致昼弟,必須同BT_PORT一樣啤它,本文件中的5個34567要改一起改
      - 34567:34567/udp  # 冒號左右一致,必須同BT_PORT一樣舱痘,本文件中的5個34567要改一起改
      #- 8787:8787       # 如使用的是nevinee/qbittorrent:iyuu標簽变骡,請解除本行注釋
    #security_opt:       # armv7設備請解除本行和下一行的注釋
      #- seccomp=unconfined

如若想將qbittorrent建立在已經(jīng)創(chuàng)建好的macvlan網(wǎng)絡上,可以按如下方式創(chuàng)建:

version: "2.0"
services:
  qbittorrent:
    image: nevinee/qbittorrent # 如想?yún)⑴c測試工作可以指定nevinee/qbittorrent:unstable芭逝,如想使用集成了iyuu的版本塌碌,請指定nevinee/qbittorrent:iyuu
    container_name: qbittorrent
    restart: always
    tty: true
    networks: 
      <你的macvlan網(wǎng)絡名稱>:
        ipv4_address: <你想設置的ip>
        aliases:
          - qbittorrent
    dns:   # docker是無法為macvlan網(wǎng)絡提供dns解析服務的,要想正常在macvlan網(wǎng)絡上發(fā)通知旬盯,請給容器添加dns服務器誊爹,你也可以直接使用你的網(wǎng)關ip作為dns服務器
      - 223.5.5.5
      - 114.114.114.114
      - 1.2.4.8
    hostname: qbitorrent
    stop_grace_period: 10m # 讓qBittorrent程序自行退出后再關閉/刪除/重啟容器的最長時間,如不設置瓢捉,則docker默認10秒,這時办成,種子多的qBittorrent可能還沒有完全保存好全部需要保存的信息泡态。
    volumes:
      - ./data:/data
    tmpfs:
      - /tmp
    environment:          # 下面未列出的其他環(huán)境變量請根據(jù)環(huán)境變量清單自行添加
      - WEBUI_PORT=8080   # WEBUI控制端口,可自定義
      - BT_PORT=34567     # BT監(jiān)聽端口迂卢,可自定義
      - PUID=1000         # 輸入id -u可查詢某弦,群暉必須改
      - PGID=100          # 輸入id -g可查詢,群暉必須改
    #security_opt:        # armv7設備請解除本行和下一行的注釋
      #- seccomp=unconfined

networks: 
  <你的macvlan網(wǎng)絡名稱>:
    external: true
  • 創(chuàng)建完成后請訪問http://<IP>:<WEBUI_PORT>(如未修改而克,對安裝機默認是http://127.0.0.1:8080)來對qbittorrent作進一步設置靶壮,初始用戶名密碼:admin/adminadmin。如要在公網(wǎng)訪問员萍,請務必修改用戶名和密碼腾降。

  • 針對iyuu標簽,創(chuàng)建后可訪問http://<IP>:8787進行IYUUPlus設置碎绎。

目錄說明

如果按照上述任何一種部署方式螃壤,在映射的目錄下會有以下文件夾:

/data                         # 基礎路徑在容器內(nèi)為/data,下面所有文件夾均處于/data的下一層筋帖,基礎路徑在宿主機上為你創(chuàng)建容器時映射的
├── cache                     # qbittorrent的緩存目錄
├── certs                     # 用來存放ssl證書奸晴,默認是空的,可另外使用acme.sh來申請ssl證書
├── config                    # 所有的配置文件保存目錄
│   ├── qBittorrent.conf      # **配置文件日麸,很重要寄啼,如需恢復配置此文件必須保留**
│   ├── qBittorrent-data.conf # **上傳下載數(shù)據(jù)統(tǒng)計文件,如需恢復配置此文件必須保留**
│   └── rss                   # **rss的配置文件保存目錄,如需恢復配置此目錄必須保留**
├── data                      # 所有的數(shù)據(jù)文件保存目錄
│   ├── BT_backup             # **當高級設置中恢復文件選擇為"Fastresume files"時墩划,種子和快速恢復文件保存目錄涕刚,如需恢復做種數(shù)據(jù)此目錄必須保留**
│   ├── torrents.db           # **當高級設置中恢復文件選擇為"SQLite database"時,種子和快速恢復數(shù)據(jù)的數(shù)據(jù)庫文件走诞,如需恢復做種數(shù)據(jù)此文件必須保留**
│   ├── GeoDB                 # IP數(shù)據(jù)保存目錄
│   ├── logs                  # 日志文件保存目錄
│   ├── nova3                 # 啟用qBittorrent搜索功能后相關文件保存目錄
│   └── rss                   # rss訂閱下載文件保存目錄
├── diy                       # 存放你自己編寫的腳本的目錄副女,diy.sh需要存放在此
├── downloads                 # 默認下載目錄
├── iyuu_db                   # 僅iyuu標簽有此目錄,用來保存IYUUPlus的配置文件蚣旱,IYUUPlus用戶須保留此文件夾
├── logs -> data/logs         # 只是個軟連接碑幅,連接到容器內(nèi)的/data/data/logs
├── temp                      # 下載文件臨時存放目錄,默認在配置中未啟用
├── torrents                  # 保存種子文件目錄塞绿,默認在配置中未啟用
├── watch                     # 監(jiān)控目錄沟涨,監(jiān)控這個目錄下的.torrent文件并自動下載,默認在配置中未啟用
└── webui                     # 存放其他webui文件的目錄异吻,需要自己存放裹赴,默認在配置中未啟用

有兩個星號標記的文件或目錄是重要目錄,恢復數(shù)據(jù)必須要有這幾個诀浪。

在這里可以查閱所有可用的非官方webui:https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-alternate-WebUIs

相關問題

使用此鏡像會導致封號嗎

此鏡像未修改qbittorrent客戶端官方任何信息棋返,在和pt站tracker服務器交互時反饋的一切信息均是qbittorrent官方原版反饋的信息,此鏡像只是基于qbittorrent額外增加了一些腳本而已雷猪。增加的腳本全部代碼在 這里 可以查看睛竣,不會因為使用此鏡像導致pt賬號被封。

如何在運行 dl-finish "%I" 時調(diào)用自定義腳本

  • 此功能可用版本:4.3.7+求摇;

  • 只要你將名為diy.sh的shell腳本放在映射目錄下的diy文件夾下即可射沟,容器內(nèi)路徑為/data/diy/diy.sh(hash已存儲在名為torrent_hash的變量中,可通過此值獲取其他信息)与境。

  • 如想傳入除“%K”種子ID之外的其他參數(shù)验夯,可以在 設置->下載->Torrent 完成時運行外部程序 下填入這種形式:dl-finish "%K" "%N" "%L" "%F",必須保證"%K"是第一個參數(shù)摔刁,后面的參數(shù)根據(jù)你自己需要調(diào)整挥转。在diy.sh中,"%N" "%L" "%F"分別通過$2 $3 $4調(diào)用共屈。如:cmd "$2" "$3 "$4"扁位。2,3, $4分別指傳入的第2, 第3, 第4個參數(shù),分別對應"%N" "%L" "%F"趁俊。

  • 假如你要調(diào)用其他語言的腳本域仇,比如python,可以在diy.sh中寫上python3 /data/diy/your_python_scripts.py $torrent_hash即可寺擂。如需要傳入更多參數(shù)暇务,請參考上一條在“Torrent 完成時運行外部程序”填入形如dl-finish "%K" "%N" "%L" "%F"的形式泼掠,然后在diy.sh中寫上python3 /data/diy/your_python_scripts.py "$2" "$3" "$4"

  • 如需要下載完成后自動觸發(fā)EMBY/JELLYFIN掃描媒體庫垦细,觸發(fā)ChineseSubFinder自動為剛剛下載完成的視頻自動下載字幕择镇,請按照 這里 操作。

如何優(yōu)雅的關閉qbittorrent容器

  • 暴力強制關閉qbittorrent容器自然是容易丟失任務的括改,所以在關閉前應當先將所有種子暫停腻豌,過一會再關閉容器。這時嘱能,所有的配置文件和torrent恢復文件也都是暫停后的狀態(tài)吝梅,然后再新建容器或重新部署,啟動后再開始所有任務惹骂。

  • 還有一點要注意苏携,千萬不要在有下載任務時關閉或重啟qbittorrent容器。

如何從其他作者的鏡像/套件版轉(zhuǎn)移至本鏡像

  • 如果啟用了ssl/https对粪,請先在原qbittorrent的webui中禁用右冻,或者將qBittorrent.confWebUI\HTTPS\Enabled=true改為WebUI\HTTPS\Enabled=false

  • 請注意要優(yōu)雅的關閉舊容器后再處理配置文件著拭。

  • 進入原來容器的映射目錄(或原套件版配置文件保存目錄纱扭,可能是隱藏的)下,在config下分別找到qBittorrent.conf qBittorrent-data.conf rss儡遮,在data下找到BT_backup跪但,然后將其參考上面的目錄樹放在新容器的映射目錄下,然后在創(chuàng)建容器時峦萎,保證新容器中的下載文件的保存路徑和舊容器一致,并新建容器即可忆首。

  • 舉例說明如何保證新容器中的下載文件的保存路徑和舊容器一致爱榔,比如舊容器中下載了一個 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表制。

遺忘登陸密碼如何重置

# 進入容器
docker exec -it qbittorrent bash

# 如果啟用了ssl
curl -k -X POST -d 'json={"web_ui_username":"新的用戶名","web_ui_password":"新的密碼"}' https://127.0.0.1:${WEBUI_PORT}/api/v2/app/setPreferences

# 如果未啟用ssl
curl -X POST -d 'json={"web_ui_username":"新的用戶名","web_ui_password":"新的密碼"}' http://127.0.0.1:${WEBUI_PORT}/api/v2/app/setPreferences

如何與emby, jellyfin, plex等等配合使用

將需要配合使用的容器的環(huán)境變量PUID/PGID設置為一樣的即可。

啟用了其他非官方webui控乾,導致webui打不開么介,如何關閉

# 進入容器
docker exec -it qbittorrent bash

# 如果啟用了ssl
curl -k -X POST -d 'json={"alternative_webui_enabled":false}' https://127.0.0.1:${WEBUI_PORT}/api/v2/app/setPreferences

# 如果未啟用ssl
curl -X POST -d 'json={"alternative_webui_enabled":false}' http://127.0.0.1:${WEBUI_PORT}/api/v2/app/setPreferences

如何自動更新容器

安裝watchtower即可,詳見 這里

安裝了watchtower蜕衡,如何讓qbittorrent不被watchtower自動更新

  • 方法1:部署qbittorrent容器時壤短,直接指定標簽,如nevinee/qbittorrent:4.3.7慨仿;

  • 方法2(推薦):在部署時在命令中添加一個label:com.centurylinklabs.watchtower.enable=false

    docker cli:

    --label com.centurylinklabs.watchtower.enable=false \
    

    docker-compose:

        labels:
          com.centurylinklabs.watchtower.enable: false
    

為何建議將qbittorrent安裝在macvlan網(wǎng)絡上

  • 可以在網(wǎng)關上給qbittorrent所在ip獨立設置限速;

  • 如果有用openwrt時久脯,可以讓qbittorrent所在ip跳過代理。

將qbittorrent安裝在macvlan網(wǎng)絡上時镶骗,如何使用IYUUAutoReseed自動輔種

將兩個容器都安裝在同一個macvlan網(wǎng)絡上即可桶现,或者直接安裝nevinee/qbittorrent:iyuu標簽。

如何使用 CRON_ALTER_LIMITS 這個環(huán)境變量

  • 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_LIMITS0 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_LIMITS30 17 * * 1-5:30 8 * * 0,6|0 22 * * 1-5:0 23 * * 0,6

  • 在docker cli中請使用一對雙引號引起來捉撮,在docker-compose.yml中請勿增加引號怕品。

如何使用 CRON_IYUU_HELP 這個環(huán)境變量

  • 4.3.8+可用。

  • 在設置的時間點執(zhí)行iyuu-help命令巾遭,實現(xiàn)以下功能:

    1. 檢查下載清單(就是qbittorrent篩選“下載”的清單)堵泽,檢測該清單中處于暫停狀態(tài)修己、并且下載完成率為0%(輔種的種子在校驗前也是0%)的種子,將這些種子請求重新校驗迎罗。已經(jīng)請求過校驗并且完成率大于0%的種子不會再次校驗睬愤。
    2. 檢查暫停清單(就是qbittorrent篩選“暫停”的清單)纹安,檢測該清單中100%下載完成/100%校驗通過的種子尤辱,將這些種子恢復做種。校驗未通過不達100%完成率的種子不會啟動厢岂,仍然保持暫停狀態(tài)光督。
  • 配合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>:<端口>俘陷,所以需要在創(chuàng)建iyuu容器(使用nevinee/qbittorrent:iyuu時同樣也需要)指定域名和ip的對應關系。

  • 命令行創(chuàng)建iyuu容器時時观谦,增加--add-host <域名>:<qBittorrent容器的IP>拉盾,其中域名是你在公網(wǎng)上訪問qBittorrent的webui的域名,如果直接使用的nevinee/qbittorrent:iyuu標簽坎匿,就是--add-host <域名>:127.0.0.1

  • docker compose創(chuàng)建時雷激,增加以下內(nèi)容:

        extra_hosts:
          - "<域名>:<qBittorrent容器的IP>"  ## 如果直接使用的`nevinee/qbittorrent:iyuu`標簽替蔬,IP就是127.0.0.1
    

qBittorrent占用了巨大的內(nèi)存,如何調(diào)整

你所見到的占用巨大的內(nèi)存并不是真的占用了屎暇,使用docker stats qbittorrent輸出的內(nèi)存占用更準確一點承桥,其他方式輸出的內(nèi)存占用會非常的大。因為libtorrent-rasterbar v2.x把內(nèi)存使用交給內(nèi)核來處理根悼,內(nèi)核會自己根據(jù)內(nèi)存大小和讀取頻次來自動決定怎么去緩存凶异,所以不要被看起來龐大的內(nèi)存占用給嚇著了蜀撑。詳見libtorrent-rasterbar作者的原話

谷歌翻譯如下:

總結一下剩彬,libtorrent2.0使用內(nèi)存映射文件酷麦。在除windows之外的所有現(xiàn)代操作系統(tǒng)上,在塊設備級別使用統(tǒng)一的頁面緩存喉恋,其中匿名內(nèi)存(由swapfile支持)和內(nèi)存映射文件(包括共享庫沃饶,運行可執(zhí)行文件)都是同一緩存的一部分。Linux可能是決定如何在物理RAM中平衡這些頁面的最復雜的工具轻黑。

使用內(nèi)存映射文件的好處主要有:

內(nèi)核(它知道機器有多少物理RAM可用)最了解何時以及以何種順序刷新緩存糊肤。也許更重要的是,決定保留讀緩存的數(shù)量和時間氓鄙。

某些類型的存儲可以由CPU直接尋址馆揉,就像它是RAM一樣,繞過了許多內(nèi)核基礎設施抖拦,并提供了非常高的性能升酣。(linux稱此DAX)

此外,當報告libtorrent(特別是mmap磁盤后端)中的問題時蟋座,僅僅指出vmstats數(shù)字表明內(nèi)核決定使用大量物理內(nèi)存進行磁盤緩存是不夠的拗踢。這是內(nèi)存映射磁盤后端的一個特性。

命令

自動運行的命令(所有標簽可用向臀,由設置的cron或在下載完成時自動運行巢墅,當然也可以手動運行)

# 發(fā)送通知
docker exec qbittorrent notify "測試消息標題" "測試消息通知內(nèi)容"

# 將種子按tracker進行分類,由CRON_AUTO_CATEGOR設置的cron來調(diào)用
docker exec qbittorrent auto-cat -a  # 由程序自動調(diào)用券膀,也可手動運行君纫。當CATEGORY_OR_TAG=category時,將所有未分類的種子按tracker分類芹彬;當CATEGORY_OR_TAG=tag時蓄髓,對所有種子按tracker打標簽
docker exec qbittorrent auto-cat -A  # 需要手動運行。當CATEGORY_OR_TAG=category時舒帮,將所有種子按tracker分類会喝;當CATEGORY_OR_TAG=tag時,對所有種子按tracker打標簽

# 將指定種子按tracker進行分類玩郊,會自動在下載完成時運行一次(由 dl-finish <hash> 命令調(diào)用)
docker exec qbittorrent auto-cat -i <hash>   # hash可以在種子詳情中的"普通"標簽頁上查看到

# 下載完成時將種子分類肢执,并發(fā)送通知,已經(jīng)在配置文件中填好了
docker exec qbittorrent dl-finish <hash>     # hash可以在種子詳情中的"普通"標簽頁上查看到

# 檢查qbittorrent是否宕機译红,如宕機則發(fā)送通知预茄,由CRON_HEALTH_CHECK設置的cron來調(diào)用
docker exec qbittorrent health-check

# 檢查所有種子的tracker狀態(tài)是否有問題,如有問題侦厚,給該種子添加一個 TrackerError 的標簽耻陕,由CRON_TRACKER_ERROR設置的cron來調(diào)用
docker exec qbittorrent tracker-error

# 每分鐘檢測MONITOR_IP設置的ip是否在線拙徽,如有任何一個ip在線,則啟用“備用速度限制”诗宣,4.3.8+可用膘怕。
docker exec qbittorrent detect-ip

## 啟用可關閉“備用速度限制”,4.3.8+可用梧田,由CRON_ALTER_LIMITS設置的cron來調(diào)用
docker exec qbittorrent alter-limits on    # 啟用“備用速度限制”
docker exec qbittorrent alter-limits off   # 關閉“備用速度限制”

## IYUUAutoReseed輔助任務淳蔼,自動重校驗、自動恢復做種裁眯,4.3.8+可用鹉梨,由CRON_IYUU_HELP設置的cron來調(diào)用
docker exec qbittorrent iyuu-help

需要手動運行的命令(所有標簽可用)

# 查看qbittorrent日志,也可以直接在portainer控制臺中看到
docker logs -f qbittorrent

# 批量修改tracker穿稳,詳見下面效果圖存皂,4.3.7+可用,有兩種使用方式逢艘,請運行下面命令查看兩種方式
docker exec -it qbittorrent change-tracker -h

# 批量刪除tracker旦袋,4.4.4+可用,有兩種使用方式它改,請運行下面命令查看兩種方式
docker exec -it qbittorrent remove-tracker -h

# 檢測指定文件夾下沒有在qbittorrent客戶端中做種或下載的子文件夾/子文件疤孕,由用戶確認是否刪除,詳見下面效果圖央拖,4.3.8+可用
# 從4.4.4起祭阀,更改成可以一次性檢測多個目錄
docker exec -it qbittorrent del-unseed-dir

# 當CATEGORY_OR_TAG=category時,將所有種子按tracker分類鲜戒;當CATEGORY_OR_TAG=tag時专控,對所有種子按tracker打標簽。4.3.9+可用
docker exec qbittorrent auto-cat -A

# 生成本qBittorrent客戶端中所有做種文件清單遏餐,4.3.9+可用
docker exec -it qbittorrent report-seed-files

# 生成指定路徑下沒有在本qBittorrent客戶端做種的文件清單伦腐,4.3.9+可用
docker exec -it qbittorrent report-unseed-files

# 分析指定目錄的重復做種率(輔種率),具體說明請運行下列命令失都,4.5.3+可用
docker exec -it qbittorrent gen-dup

僅“iyuu”標簽可用的命令

# 更新IYUUPlus腳本
docker exec -it qbittorrent git -C /iyuu pull

# 重啟IYUUPlus
docker exec -it qbittorrent php /iyuu/start.php restart -d 

參考

源代碼、問題反饋粹庞、意見建議

如果鏡像好用咳焚,請點亮star。全套代碼見 GithubGitee信粮。如有使用上的問題黔攒,或者有其他好的功能建議趁啸,請在 Github這里Gitee這里 提交强缘。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末督惰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子旅掂,更是在濱河造成了極大的恐慌赏胚,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件商虐,死亡現(xiàn)場離奇詭異觉阅,居然都是意外死亡,警方通過查閱死者的電腦和手機秘车,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門典勇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叮趴,你說我怎么就攤上這事割笙。” “怎么了眯亦?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵伤溉,是天一觀的道長。 經(jīng)常有香客問我妻率,道長乱顾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任宫静,我火速辦了婚禮走净,結果婚禮上,老公的妹妹穿的比我還像新娘囊嘉。我一直安慰自己温技,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布扭粱。 她就那樣靜靜地躺著舵鳞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪琢蛤。 梳的紋絲不亂的頭發(fā)上蜓堕,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音博其,去河邊找鬼套才。 笑死拉一,一個胖子當著我的面吹牛松逊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播问窃,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼傻寂!你這毒婦竟也來了息尺?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤疾掰,失蹤者是張志新(化名)和其女友劉穎搂誉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體静檬,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡炭懊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拂檩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侮腹。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖稻励,靈堂內(nèi)的尸體忽然破棺而出凯旋,到底是詐尸還是另有隱情,我是刑警寧澤钉迷,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布至非,位于F島的核電站,受9級特大地震影響糠聪,放射性物質(zhì)發(fā)生泄漏荒椭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一舰蟆、第九天 我趴在偏房一處隱蔽的房頂上張望趣惠。 院中可真熱鬧,春花似錦身害、人聲如沸味悄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侍瑟。三九已至,卻和暖如春丙猬,著一層夾襖步出監(jiān)牢的瞬間涨颜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工茧球, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留庭瑰,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓抢埋,卻偏偏與公主長得像弹灭,于是被迫代替她去往敵國和親督暂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容