整个All in one的基础功能我们现在还缺少了一个部分,那就是下载工具。下载的资源部分可能需要各位自己发挥自己找资源的能力,这里只说几个常用的下载工具如何部署。各种NAS或者软路由的系统里面也有下载的套件之类的安装,但是这里还是纯粹折腾一下把All in one所有服务都放到跑docker的容器里面来跑。下面就来说一下几个常用下载工具的部署方式。
All in one当中放下载服务的目的有两个,一个是如果你的All in one主机长时间开机的话那么你就可以长时间下载上传以及刷保种时间之类的,稍微方便点;另外我们可以通过前几篇的公网访问来访问我们下载服务的webui,从而实现远程下载。当然了实在用不上就用普通电脑上的下载软件也没啥问题。
为了方便docker的管理,我们先在我们运行docker的lxc容器根目录下新建一个docker目录,用来存放所有docker文件的配置文件。
一、迅雷
迅雷算是用的最多的下载软件了,BT和一般下载链接都可以使用,而且国内的BT环境你如果下载BT资源不用迅雷其实挺难,因为好像迅雷客户端的上传不给其他软件用。群晖的第三方套件里面倒是有迅雷的套件,如果你NAS系统用的是群晖那么直接添加第三方套件源即可,这个网上的教程比较多这里就不多做描述了, 主要是说说docker部署迅雷的办法,其实项目作者也是用群晖的套件来改的。
项目的地址如下:
https://github.com/cnk3x/xunlei
同样的我们还是使用docker-compose.yml文档来部署,使用WinSCP在/docker目录内新建一个xunlei目录,然后新建一个docker-compose.yml文档。
yml文档的基础的设置只有三个,映射端口号、映射目录(我这里用的NAS共享的挂载到本地的/mnt/nfs1目录下新建的一个xldownload作为下载目录以及在/docker/xunlei 目录下新建一个data目录来存放迅雷的data文件)、开启特权。
如果有需要的话可以配置一些环境变量,作者列出了这些变量,个人觉得如果说你要挂在公网上的话可以增加密码,其他都没必要改,如果你要改就把我下面那个示例yml文档中的enviroment相关的注释取消了,如果改了端口还要主要修改端口映射的容器内端口号。取消注释后注意各行的缩进,yml文档也是要注意对齐和缩进的,不然会报错。
环境变量名称
XL_DASHBOARD_PORT #网页访问的端口,默认 2345
XL_DASHBOARD_IP #网页访问的端口,默认 0.0.0.0(代表所有IP)
XL_DASHBOARD_USERNAME #网页访问的用户名
XL_DASHBOARD_PASSWORD #网页访问的密码
XL_DIR_DOWNLOAD #下载保存默认文件夹,默认 /xunlei/downloads,多个文件夹用冒号:分隔
XL_DIR_DATA #程序数据保存文件夹,默认 /xunlei/data
XL_UID #运行迅雷的用户ID
XL_GID #运行迅雷的用户组ID
XL_PREVENT_UPDATE #是否阻止更新,默认 true, 可选值 true/false, 1/0
XL_CHROOT #隔离运行主目录, 指定该值且不为`/`则以隔离模式运行, 用于在容器内隔离环境,容器内默认为 /xunlei,隔离模式运行需要特权模式(--privileged),可以将该值设置为`/`来以非特权模式运行。非特权模式运行有条件,可以尝试失败后使用特权模式重新运行。
XL_DEBUG #调试模式, 可选值 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或者控制台进入到/docker/xunlei目录,然后运行启动部署命令即可
docker compose up -d
运行成功后我们访问你的docker容器ip:映射的端口号即可进入界面,跟群晖套件的一模一样,需要你登录迅雷账号,使用手机迅雷也可以远程设备下载。
二、transmission
相较于迅雷不给其他BT客户端上传流量,部分网站的种子也不会让迅雷下载,所以说我们还需要一个其他的下载器。当然如果说用不上这种特殊的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整进去,这里使用的办法是把webui的源码下载下来,用直接挂载以及修改一个webhome环境变量的方式来实现,就没有用docker exec去容器内执行命令,毕竟只是修改一个前端。
github主页直接点code然后选择download zip,然后解压,解压出来的文件夹名字太长了,我直接改了个名字叫web。然后用WinSCP在lxc的docker目录内新建一个transmission目录,先把我们这个web目录传上去,然后还是新建一个docker-compose.yml文件以及一个config目录来存配置,用户和组的ID我删了,系统默认就行。user和pass你自己设置。然后我在/mnt/nfs1这个目录下新建了一个trdownload和watch文件夹给transmission用,刚才我们传上去的web文件夹作为docker容器内的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/删了或者反复多试几下,网络问题很难处理。然后跟上面迅雷一样的步骤启动,这次用9091端口就可以访问了webui了,然后输入你刚才填的user和pass即可登录。一般来说transmission是用来进行种子下载的,磁力链接要怎么用我还真的不知道。
UI大概就是这样,由于我们直接替换了src所以回不到原版UI了,相信我你也不会想用原版UI的,当然你也可以去找其他的UI。
webui界面
然后如果你要移动你下载文件的目录还要继续做种的话,我建议是先在NAS里面把文件移动了,然后再去transmission里面更改保存的目录,这样比较快一点,直接选择更改目录并移动文件他是复制后删除,会比较慢。
三、qbittorrent
稍微功能丰富一点的开源bt下载器,项目地址
https://github.com/qbittorrent/qBittorrent
不过这里没有写docker安装的办法,只能自己安装相关依赖然后cmake安装,docker的hub网站上
https://hub.docker.com/r/linuxserver/qbittorrent
同样的官方示例yml文件如下
跟transmission差不多,稍微修改一下,然后还是那一套,docker目录下新建一个qbittorrent目录,里面放一个config目录以及一个yml文件,yml文件示例如下,映射的8080端口稍微改了下,要求是容器内外要保持一致,所以环境变量和端口映射都要改,我改成了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
在这个命令输出的倒数几行找到这个,这里就是你的账号密码
进来之后点设置
图片
然后先把语言换成中文,再看你要不要设置新密码,以及是否有些IP段跳过验证
图片
图片
下载工具其他的就没什么好说的了,主要还是看你怎么寻找资源。
下一篇说说handbrake和几个杂七杂八的小工具。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
,