Docker安装Aria2+AriaNg前端面板

项目地址

P3TERX/Aria2-Pro-Docker

Aria2 是目前最强大的全能型下载工具,它支持 BT、磁力、HTTP、FTP 等下载协议,常用做离线下载的服务端。

Aria2-Pro部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
docker run -d \
--name aria2-pro \
--restart always \
--log-opt max-size=1m \
--network host \
-e PUID=0 \
-e PGID=0 \
-e UMASK_SET=000 \
-e RPC_SECRET=12345678qwer \
-e RPC_PORT=6800 \
-e IPV6_MODE=true \
-e SPECIAL_MODE=move \
-e LISTEN_PORT=55554 \
-e UPDATE_TRACKERS=true \
-v /volume1/docker/aria2-pro:/config \
-v /volume1/downloads:/downloads \
p3terx/aria2-pro

选项参数说明

  • --name aria2-pro - 容器名称,可自定义以示区分。

  • --restart always - 设置容器重启策略,详情参见 Docker 官方文档

  • --network host - 使用 host 网络模式。直接使用宿主机网络,免去端口映射导致的部分性能损失,且灵活性更高,可更方便的配置使用 IPv6 网络。

  • -v /volume1/docker/aria2-pro - 配置目录映射,配置文件持久化。左边为宿主机路径供自定义,不要有中文、不要混用配置文件,首次使用请确保目录为空。

  • -v /volume1/downloads - 下载目录映射。左边为宿主机路径供自定义,不要有中文

  • -e PUID=$UID - 用户映射。设置文件管理账户的UID(用户 ID)。忽略则默认为nobady用户,并权限最大化。

  • -e PGID=$GID - 用户组映射。设置文件管理账户的GID(用户组 ID)。忽略则默认为nogroup用户组,并权限最大化。

    如果管理文件的账户不是当前登录的账户或者使用 GUI 创建容器请务必执行 id 命令手动获取并填写。比如我的账户为 root,那么就执行 id root

  • -e RPC_SECRET=<TOKEN> - RPC 密钥设置,即 WebUI 连接时需要填写的密码,只建议使用字母和数字。如果没有设置,配置文件中的默认密码为P3TERX

  • -e RPC_PORT=6800 - RPC 端口设置。

  • -e LISTEN_PORT=55554 - BT 监听端口(TCP)、DHT 监听端口(UDP)设置,即 Aria2 配置中listen-portdht-listen-port选项定义的端口。如果没有设置,配置文件中的默认值为6888

  • -e IPV6_MODE=true - 开启 IPv6 模式。此变量等同于设定配置文件中的选项disable-ipv6=falseenable-dht6=true。可间接提升 BT 下载速率,但需要网络完整支持 IPv6 ,否则会导致部分功能异常,甚至无法下载。

  • -e SPECIAL_MODE=move - 开启文件自动归档/分类功能,即在文件下载完成后把文件移动到指定目录。默认移动到下载目录下的completed子目录。

  • -e UPDATE_TRACKERS=true - 禁用自动更新 BT tracker 。PT 下载和想手动填写设置 BT tracker 需求必须禁用。

  • -e UMASK_SET=022 - umask 设置,默认值022。决定你下载下来的文件的权限,对权限不敏感或不理解直接填写000

注意事项

  • 如果是在本地内网的电脑或者 NAS 上使用 Aria2 下载,需要在路由器上设置端口转发,Aria2 暂不支持 UPnP 功能。

AriaNg (WebUI)部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# bridge 网络模式
docker run -d \
--name ariang \
--restart always \
--log-opt max-size=1m \
-p 6880:6880 \
p3terx/ariang

# host 网络模式(如果你需要使用 IPv6 网络访问,这是最简单的方式)
docker run -d \
--name ariang \
--log-opt max-size=1m \
--restart always \
--network host \
p3terx/ariang

手动设置

AriaNg 设置中填写相关 RPC 信息。RPC 地址对应 IP 或域名, RPC 秘钥对应配置文件 (aria2.conf) 中 rpc-secret 选项后面的参数。如果没有过修改端口,那么默认是 6800 无需修改。

注意事项

  • 在 AriaNg (或其它前端面板)中对 Aria2 设置的修改只会保存在内存中,不会修改配置文件,即属于临时修改,只在当前运行的进程中有效。Aria2 重启或关闭后会重新读取配置文件。这是 Aria2 的特性决定的并是不 bug ,所以必要的设置需写入到 Aria2 配置文件中。
  • 修改 Aria2 配置文件后,要先关闭 AriaNg 再重启 Aria2 进程,否则 AriaNg 可能会传递之前缓存的配置给 Aria2 ,这可能会导致修改的配置没有生效。理论上其它前端面板也是这样。(待讨论)
  • HTTP 协议的 RPC 请求方式只建议使用POST,否则可能导致 BT 种子无法传递到 Aria2 服务端。
  • BT 下载多文件时,若想取消部分文件,需先暂停任务后才能进行勾选。