PassNAT LogoPassNAT

qBittorrent 远程下载机:飞牛 NAS Docker 部署,出门丢任务到家下好

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

qBittorrent 是一个开源的 BT 下载器,官方提供 Docker 镜像。把它部署在自己的 NAS 上,下载任务二十四小时挂着跑:在公司把任务丢进去,到家文件已经躺在 NAS 的下载目录里。

本期在飞牛 NAS 上使用官方镜像单容器部署,实测版本为 v5.2.4,镜像约 110 MB。项目源码:qBittorrent GitHub 仓库,官方镜像说明:qbittorrentofficial/qbittorrent-nox。

部署安装

家里宽带没有公网 IP 的话,装完先别急着用,跟着下一节配一次内网穿透,出门才摸得到它。穿透用的工具是帕斯内网穿透,飞牛应用中心里就有它的插件,注册好账号装上即可。

打开飞牛桌面的 Docker,切到 Compose,新增项目,路径挑一个空文件夹,来源选「创建 docker-compose.yml」,把下面这份编排整段粘进去:

1services:
2 qbittorrent:
3 image: qbittorrentofficial/qbittorrent-nox:latest
4 container_name: qbittorrent
5 restart: unless-stopped
6 network_mode: bridge
7 ports:
8 - "8080:8080" # 网页界面,等下建隧道填的本地端口就是 8080
9 - "6881:6881/tcp" # BT 连接端口,两端都要映射
10 - "6881:6881/udp"
11 environment:
12 QBT_LEGAL_NOTICE: confirm # 官方镜像要求确认一次使用声明,不填起不来
13 QBT_WEBUI_PORT: 8080
14 QBT_TORRENTING_PORT: 6881
15 PUID: "1000"
16 PGID: "1000"
17 TZ: Asia/Shanghai
18 volumes:
19 - ./config:/config # 配置和账号密码都存这里
20 - ./downloads:/downloads # 下载的文件落在这里
21 mem_limit: 1g
22 stop_grace_period: 30m # 停止时给 qBittorrent 时间保存任务进度
23

三处要留意:端口外面里面都写 8080(这个镜像的网页界面对访问域名有校验,宿主端口换成别的会连登录页都打不开);6881 是 BT 连接口,TCP 和 UDP 两行都要有;QBT_LEGAL_NOTICE 必须照抄 confirm,这是官方镜像的要求,少了它容器起不来。两个卷一个放配置,一个放下载的文件。

勾上「创建项目后立即启动」,点确认,镜像一百多兆,拉完容器自己就起来了。

首次登录:临时密码在哪

qBittorrent 4.6.1 之后第一次启动不设默认密码,而是生成一个临时密码打印在容器日志里。飞牛上打开 Docker → 容器,找到 qbittorrent,点右侧菜单里的「运行日志」,能看到这样一行:

1The WebUI administrator username is: admin
2The WebUI administrator password was not set. A temporary password is provided for this session: XXXXXXXXXX
3You should set your own password in program preferences.
4

用户名 admin,密码就是这一行里的临时密码。登进去第一件事:点开设置(齿轮)→ WebUI 页签 → 认证这一栏点「更改当前密码」,换成自己的密码再保存。

PassNAT 内网穿透:拿到公网地址

打开飞牛桌面的 PassNAT 插件,直接在插件里创建隧道:类型选 HTTP,子域名自己起一个,本地地址留默认(127.0.0.1),本地端口填 8080,点创建隧道,再按一次电源启动。一个固定的公网网址就到手了,浏览器打开它,就是家里这台 qBittorrent。

远程下载:出门丢任务

点工具栏的加号,选「链接」,贴一个 .torrent 或磁力地址就能下。演示用的是 Debian 官方安装镜像的种子,点添加之后进度条当场就跑起来了。下完的文件在编排里 downloads 对应的那个目录里,出门丢的任务,到家已经就位。

常见问题

打不开网页界面:先看容器日志里有没有起来,再确认访问端口是 8080——这个镜像对访问域名有校验,带端口的 Host 只认 8080。下载没速度:6881 的 TCP 和 UDP 两行都要映射上,DHT 需要几分钟连网。临时密码登不上:它是一次性的,改过密码就作废;容器重启会生成新的,回日志里再看一眼。