整個All in one的基礎(chǔ)功能我們現(xiàn)在還缺少了一個部分,那就是下載工具。下載的資源部分可能需要各位自己發(fā)揮自己找資源的能力,這里只說幾個常用的下載工具如何部署。各種NAS或者軟路由的系統(tǒng)里面也有下載的套件之類的安裝,但是這里還是純粹折騰一下把All in one所有服務(wù)都放到跑docker的容器里面來跑。下面就來說一下幾個常用下載工具的部署方式。
All in one當(dāng)中放下載服務(wù)的目的有兩個,一個是如果你的All in one主機(jī)長時間開機(jī)的話那么你就可以長時間下載上傳以及刷保種時間之類的,稍微方便點;另外我們可以通過前幾篇的公網(wǎng)訪問來訪問我們下載服務(wù)的webui,從而實現(xiàn)遠(yuǎn)程下載。當(dāng)然了實在用不上就用普通電腦上的下載軟件也沒啥問題。
為了方便docker的管理,我們先在我們運(yùn)行docker的lxc容器根目錄下新建一個docker目錄,用來存放所有docker文件的配置文件。
一、迅雷
迅雷算是用的最多的下載軟件了,BT和一般下載鏈接都可以使用,而且國內(nèi)的BT環(huán)境你如果下載BT資源不用迅雷其實挺難,因為好像迅雷客戶端的上傳不給其他軟件用。群暉的第三方套件里面倒是有迅雷的套件,如果你NAS系統(tǒng)用的是群暉那么直接添加第三方套件源即可,這個網(wǎng)上的教程比較多這里就不多做描述了, 主要是說說docker部署迅雷的辦法,其實項目作者也是用群暉的套件來改的。
項目的地址如下:
https://github.com/cnk3x/xunlei
同樣的我們還是使用docker-compose.yml文檔來部署,使用WinSCP在/docker目錄內(nèi)新建一個xunlei目錄,然后新建一個docker-compose.yml文檔。
yml文檔的基礎(chǔ)的設(shè)置只有三個,映射端口號、映射目錄(我這里用的NAS共享的掛載到本地的/mnt/nfs1目錄下新建的一個xldownload作為下載目錄以及在/docker/xunlei 目錄下新建一個data目錄來存放迅雷的data文件)、開啟特權(quán)。
如果有需要的話可以配置一些環(huán)境變量,作者列出了這些變量,個人覺得如果說你要掛在公網(wǎng)上的話可以增加密碼,其他都沒必要改,如果你要改就把我下面那個示例yml文檔中的enviroment相關(guān)的注釋取消了,如果改了端口還要主要修改端口映射的容器內(nèi)端口號。取消注釋后注意各行的縮進(jìn),yml文檔也是要注意對齊和縮進(jìn)的,不然會報錯。
環(huán)境變量名稱
XL_DASHBOARD_PORT #網(wǎng)頁訪問的端口,默認(rèn) 2345
XL_DASHBOARD_IP #網(wǎng)頁訪問的端口,默認(rèn) 0.0.0.0(代表所有IP)
XL_DASHBOARD_USERNAME #網(wǎng)頁訪問的用戶名
XL_DASHBOARD_PASSWORD #網(wǎng)頁訪問的密碼
XL_DIR_DOWNLOAD #下載保存默認(rèn)文件夾,默認(rèn) /xunlei/downloads,多個文件夾用冒號:分隔
XL_DIR_DATA #程序數(shù)據(jù)保存文件夾,默認(rèn) /xunlei/data
XL_UID #運(yùn)行迅雷的用戶ID
XL_GID #運(yùn)行迅雷的用戶組ID
XL_PREVENT_UPDATE #是否阻止更新,默認(rèn) true, 可選值 true/false, 1/0
XL_CHROOT #隔離運(yùn)行主目錄, 指定該值且不為`/`則以隔離模式運(yùn)行, 用于在容器內(nèi)隔離環(huán)境,容器內(nèi)默認(rèn)為 /xunlei,隔離模式運(yùn)行需要特權(quán)模式(--privileged),可以將該值設(shè)置為`/`來以非特權(quán)模式運(yùn)行。非特權(quán)模式運(yùn)行有條件,可以嘗試失敗后使用特權(quán)模式重新運(yùn)行。
XL_DEBUG #調(diào)試模式, 可選值 true/false, 1/0
示例yml文檔,加了一行自動啟動
services:
xunlei:
image: cnk3x/xunlei
ports:
- "46875:2345"
volumes:
- "/mnt/nfs1/xldownload:/xunlei/downloads"
- "./data:/xunlei/data"
# environment:
# - "變量名稱=值,以下舉例用戶名密碼"
# - "XL_DASHBOARD_USERNAME=你想要的用戶名"
# - "XL_DASHBOARD_PASSWORD=你自己輸入密碼"
privileged: true
restart: always
接著我們用ssh或者控制臺進(jìn)入到/docker/xunlei目錄,然后運(yùn)行啟動部署命令即可
docker compose up -d
運(yùn)行成功后我們訪問你的docker容器ip:映射的端口號即可進(jìn)入界面,跟群暉套件的一模一樣,需要你登錄迅雷賬號,使用手機(jī)迅雷也可以遠(yuǎn)程設(shè)備下載。
二、transmission
相較于迅雷不給其他BT客戶端上傳流量,部分網(wǎng)站的種子也不會讓迅雷下載,所以說我們還需要一個其他的下載器。當(dāng)然如果說用不上這種特殊的BT下載模式也就可以不安裝了,畢竟這種資源不一定找得到不是。
transmission就是一個簡單的開源BT下載工具,主打的就是一個簡單。由于transmission本身的webui并不是特別好用,所以說我們還增加安裝一個github上的webui來讓他好用和好看一點。
它的dockerhub鏈接沒啥好看的,因為打不開
https://hub.docker.com/r/linuxserver/transmission
里面有一個官方推薦的docker-compose配置,我直接放在下面
然后是webui的項目地址
https://github.com/ronggang/transmission-web-control?tab=readme-ov-file
然后我們需要把webui整進(jìn)去,這里使用的辦法是把webui的源碼下載下來,用直接掛載以及修改一個webhome環(huán)境變量的方式來實現(xiàn),就沒有用docker exec去容器內(nèi)執(zhí)行命令,畢竟只是修改一個前端。
github主頁直接點code然后選擇download zip,然后解壓,解壓出來的文件夾名字太長了,我直接改了個名字叫web。然后用WinSCP在lxc的docker目錄內(nèi)新建一個transmission目錄,先把我們這個web目錄傳上去,然后還是新建一個docker-compose.yml文件以及一個config目錄來存配置,用戶和組的ID我刪了,系統(tǒng)默認(rèn)就行。user和pass你自己設(shè)置。然后我在/mnt/nfs1這個目錄下新建了一個trdownload和watch文件夾給transmission用,剛才我們傳上去的web文件夾作為docker容器內(nèi)的web-control,例子如下:
services:
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
environment:
- TZ=Asia/Shanghai
- USER= #optional
- PASS= #optional
- TRANSMISSION_WEB_HOME=/transmission-web-control/src
volumes:
- ./config:/config
- /mnt/nfs1/trdownloads:/downloads
- /mnt/nfs1/watch:/watch
- ./web:/transmission-web-control
ports:
- 9091:9091
- 51413:51413
- 51413:51413/udp
restart: always
如果鏡像不管怎么整都報error get錯誤就把image最開始的lscr.io/刪了或者反復(fù)多試幾下,網(wǎng)絡(luò)問題很難處理。然后跟上面迅雷一樣的步驟啟動,這次用9091端口就可以訪問了webui了,然后輸入你剛才填的user和pass即可登錄。一般來說transmission是用來進(jìn)行種子下載的,磁力鏈接要怎么用我還真的不知道。
UI大概就是這樣,由于我們直接替換了src所以回不到原版UI了,相信我你也不會想用原版UI的,當(dāng)然你也可以去找其他的UI。
webui界面
然后如果你要移動你下載文件的目錄還要繼續(xù)做種的話,我建議是先在NAS里面把文件移動了,然后再去transmission里面更改保存的目錄,這樣比較快一點,直接選擇更改目錄并移動文件他是復(fù)制后刪除,會比較慢。
三、qbittorrent
稍微功能豐富一點的開源bt下載器,項目地址
https://github.com/qbittorrent/qBittorrent
不過這里沒有寫docker安裝的辦法,只能自己安裝相關(guān)依賴然后cmake安裝,docker的hub網(wǎng)站上
https://hub.docker.com/r/linuxserver/qbittorrent
同樣的官方示例yml文件如下
跟transmission差不多,稍微修改一下,然后還是那一套,docker目錄下新建一個qbittorrent目錄,里面放一個config目錄以及一個yml文件,yml文件示例如下,映射的8080端口稍微改了下,要求是容器內(nèi)外要保持一致,所以環(huán)境變量和端口映射都要改,我改成了37615,隨你喜歡
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- TZ=Asia/Shanghai
- WEBUI_PORT=37615
- TORRENTING_PORT=6881
volumes:
- ./config:/config
- /mnt/nfs1/qbdownloads:/downloads
ports:
- 37615:37615
- 6881:6881
- 6881:6881/udp
restart: always
然后訪問37615端口就可以看到webui了。然后登錄密碼還需要一點操作,使用命令,后面那個名字就是我們上面的container_name,如果你改了那么這里命令也有變化
docker logs qbittorrent
在這個命令輸出的倒數(shù)幾行找到這個,這里就是你的賬號密碼
進(jìn)來之后點設(shè)置
圖片
然后先把語言換成中文,再看你要不要設(shè)置新密碼,以及是否有些IP段跳過驗證
圖片
圖片
下載工具其他的就沒什么好說的了,主要還是看你怎么尋找資源。
下一篇說說handbrake和幾個雜七雜八的小工具。
作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~
,