Docker 玩法

飞牛NAS部署Aria2:全能下载工具

2026-07-30 2 admin

前言

在 NAS 的日常使用中,下载功能是最核心的需求之一。虽然飞牛 NAS 自带下载中心,但如果你需要更灵活的下载控制、更好的 BT/磁力支持、或者想配合前端界面远程管理,Aria2 无疑是最佳选择。本文会带你从零开始在飞牛 NAS 上部署 Aria2,并搭配 AriaNg 实现图形化管理,让你轻松驾驭各种下载任务。

准备工作

在开始之前,请确保你已满足以下条件:

  • 飞牛 NAS 系统已正常运行,并已开启 SSH 服务(在系统设置中开启)
  • 拥有可登录 SSH 的账号(建议使用 root 或具有 sudo 权限的用户)
  • 网络畅通,能够访问外网下载依赖包
  • 已安装 Docker(飞牛 NAS 默认自带 Docker 环境)

方案选择:Docker 部署 vs 原生安装

Aria2 的部署方式有两种主流方案:

  • Docker 部署:隔离性好,升级方便,配置迁移简单,推荐大多数用户使用。
  • 原生安装:性能略高,但依赖管理麻烦,升级需手动处理。

本文以 Docker 部署为例,这也是飞牛 NAS 最推荐的方式。

第一步:创建 Aria2 数据目录

在 SSH 终端中执行以下命令,创建 Aria2 的配置、下载和日志目录。这里我约定将数据放在 /docker/aria2 下,你可以根据自己习惯调整。

sudo mkdir -p /docker/aria2/config
sudo mkdir -p /docker/aria2/downloads
sudo mkdir -p /docker/aria2/logs

其中 config 目录存放 Aria2 的配置文件,downloads 是下载完成后的存放路径,logs 记录运行日志。

第二步:编写 Aria2 配置文件

Aria2 的核心在于配置文件,合理的参数设置能大幅提升下载体验。创建一个名为 aria2.conf 的文件,写入以下内容:

sudo nano /docker/aria2/config/aria2.conf

将以下配置粘贴进去(可以根据需要修改部分参数):

# 基本设置
dir=/data/downloads
input-file=/data/config/aria2.session
save-session=/data/config/aria2.session
save-session-interval=60
log=/data/logs/aria2.log
log-level=warn

# 连接设置
continue=true
max-concurrent-downloads=10
max-connection-per-server=16
min-split-size=10M
split=16

# BT 设置
bt-enable-lpd=true
bt-max-peers=100
bt-request-peer-speed-limit=10M
seed-ratio=0
seed-time=0
bt-save-metadata=true
bt-tracker-interval=60

# RPC 设置(用于 AriaNg 连接)
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-secret=your_secret_password
rpc-listen-port=6800

# 磁盘缓存
disk-cache=32M

# 文件预分配
file-allocation=prealloc

重要提示:请务必将 rpc-secret 后的 your_secret_password 替换为你自己的强密码。这个密码用于 AriaNg 连接 Aria2,泄露可能导致他人控制你的下载任务。

保存退出(nano 中按 Ctrl+X,按 Y 后回车)。

第三步:启动 Aria2 Docker 容器

执行以下命令拉取并启动 Aria2 容器。这里使用 p3terx/aria2-pro 镜像,它非常轻量且配置友好。

sudo docker run -d \
  --name aria2-pro \
  --restart unless-stopped \
  --log-opt max-size=10m \
  -p 6800:6800 \
  -v /docker/aria2/config:/data/config \
  -v /docker/aria2/downloads:/data/downloads \
  -v /docker/aria2/logs:/data/logs \
  -e PUID=0 \
  -e PGID=0 \
  -e UMASK=022 \
  p3terx/aria2-pro

命令说明:

  • -p 6800:6800:映射 RPC 端口,供 AriaNg 连接。
  • -v 参数将之前创建的目录挂载到容器内对应位置。
  • PUID=0PGID=0 表示以 root 身份运行(飞牛 NAS 默认用户 uid 为 0),如果遇到权限问题可以调整。
  • --restart unless-stopped 确保容器在异常退出后自动重启。

启动完成后,可以通过 sudo docker logs aria2-pro 查看日志,确认是否正常运行。如果看到类似 Aria2 is ready! 的信息,说明启动成功。

第四步:部署 AriaNg 前端界面

命令行管理下载任务显然不够直观,我们需要一个漂亮的 Web 界面。AriaNg 是目前最流行的 Aria2 前端。

你可以选择在宿主机上部署 Nginx 来托管 AriaNg,或者直接用 Docker 运行一个现成的镜像。这里我推荐使用 Docker 方式,更省心。

sudo docker run -d \
  --name ariang \
  --restart unless-stopped \
  -p 6880:6880 \
  p3terx/ariang

启动后,在浏览器中输入 http://你的飞牛NAS IP:6880,即可看到 AriaNg 的界面。

第五步:配置 AriaNg 连接 Aria2

打开 AriaNg 页面后,点击左侧菜单的“AriaNg 设置” -> “RPC”,进行以下配置:

  • Aria2 RPC 地址:填写 http://你的飞牛NAS IP:6800/jsonrpc
  • Aria2 RPC 密钥:填写你在 aria2.conf 中设置的 rpc-secret 密码

点击“重新连接”,如果看到状态变为“已连接”,并且底部显示 Aria2 版本信息,恭喜你,配置成功!

进阶优化:添加 BT Tracker 列表

BT 下载速度很大程度上依赖 tracker 列表。我们可以让 Aria2 自动更新 tracker。在 aria2.conf 中添加以下行:

bt-tracker=udp://tracker.opentrackr.org:1337/announce,udp://tracker.internetwarriors.net:1337/announce,...

但手动维护很麻烦,建议使用自动更新脚本。可以在宿主机的 cron 中设置定时任务,或者利用 Docker 的 restart 策略,但我更推荐一个更优雅的方法:在 AriaNg 的“设置”中,有一个“BT 设置”选项卡,可以粘贴一个动态生成的 tracker 列表(比如从 https://github.com/ngosang/trackerslist 获取)。不过每次重启 Aria2 后需要重新设置。

更持久的办法是在容器启动时注入环境变量。修改启动命令,添加 -e ARIA2_BT_TRACKER_URL=https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt,但需要确保容器支持该变量。p3terx/aria2-pro 镜像支持此功能,你可以重新创建容器:

sudo docker stop aria2-pro
sudo docker rm aria2-pro
sudo docker run -d \
  --name aria2-pro \
  --restart unless-stopped \
  --log-opt max-size=10m \
  -p 6800:6800 \
  -v /docker/aria2/config:/data/config \
  -v /docker/aria2/downloads:/data/downloads \
  -v /docker/aria2/logs:/data/logs \
  -e PUID=0 \
  -e PGID=0 \
  -e UMASK=022 \
  -e ARIA2_BT_TRACKER_URL=https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt \
  p3terx/aria2-pro

这样每次容器启动时会自动下载最新 tracker 并写入配置。

常见问题排查

问题1:AriaNg 连接不上 Aria2

检查防火墙是否放行了 6800 端口。飞牛 NAS 默认防火墙可能未开放端口,需要在“网络设置” -> “防火墙”中添加规则。或者临时关闭防火墙测试:sudo systemctl stop firewalld(不建议长期关闭)。

问题2:下载权限不足

如果你发现下载的文件无法被飞牛 NAS 的其他应用访问,可能是 uid/gid 问题。可以查看飞牛 NAS 默认用户的 uid(通过 id 命令),然后修改启动命令中的 PUIDPGID 为对应值。

问题3:下载速度慢

检查 tracker 是否有效,尝试更换公共 tracker。另外检查 max-connection-per-serversplit 参数是否设置得足够大,对于热门资源,适当提高并发数。

总结

通过 Docker 部署 Aria2 + AriaNg,我们为飞牛 NAS 添加了一个功能强大、可远程管理的下载工具。相比自带下载中心,Aria2 支持更多协议、更精细的限速控制、以及通过 RPC 接口与各种第三方应用集成。整个部署过程只需几分钟,而且后续维护非常方便——升级镜像只需要 docker pull 然后重启即可。

现在,你可以安心地往 AriaNg 里添加各种下载任务,无论是 HTTP/FTP 直链、BT 种子还是磁力链接,Aria2 都能高效完成。配合飞牛 NAS 的文件管理功能,下载后的文件可以直接在 NAS 上分类、分享或播放。这正是自建 NAS 的乐趣所在:用开源工具组合出最适合自己的解决方案。