介绍
Aria2-AriaNg-X docker-compose可以在线查看,预览下载的文件,让我们自己在自己 vps 上就可以拥有某些在线服务商提供的离线下载(迅雷、115)这样的功能。而且所有的控制权都在你手里,不用担心被删除资源
同时提供了 Aria2 + AriaNg + filerun 和 Aria2 + AriaNg + Nextcloud
比较 FileBrowser, Filerun, h5ai 和 Nextcloud
比较类别 | Filerun | Nextcloud | h5ai | Filebrowser |
---|---|---|---|---|
Docker 镜像大小 | 200M | 500M | 20M | 40M |
功能 | 功能少 | 功能强大 | 功能少 | 功能足够 |
UI | 简洁 | 精美 | 简洁 | 简洁 |
依赖 | 必须要 Mysql 数据库 | 可以直接使用 内嵌 SQLlite,也可以使用其他外置数据库 | 无数据库 | 内嵌数据库 |
集成难度 | 全自动,无需人工操作 | 需要人工操作两步 | 全自动 | 全自动 |
客户端 | 无 | 有移动和桌面客户端 | 无 | 无 |
登录安全 | 支持用户名密码登录 | 支持用户名密码登录 | 无 | 用户名密码登录 |
容器数量 | mysql, filerun, aria2 | nextcloud, aria2 | h5ai, aria2 | 只需一个 |
总结 | 轻量级 | 功能全面,本身可以作为一个很好的云盘使用 | 仅提供文件列表,和查看文件,播放音视频文件功能 | 一个容器集成所有功能 |
我更喜欢 Nextcloud。毕竟颜值更高,功能强大还有各种客户端
安装
使用 Filebrowser 安装
如果你希望指定UID
和GID
,还希望可以使用Plex
来管理下载的电影等资源,强烈推荐使用 Filebrowser。
git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git
cd aria2-ariang-x-docker-compose/plex-filebrowser
# 前往 https://www.plex.tv/claim/ 获取 TOKEN, 并填充至 `plex-filebrowser` 目录下的 `docker-compose.yml`下的 `PLEX_CLAIM`字段。
docker-compose up -d
就这么简单!
- Filebrowser http://localhost
- AriaNg: http://localhost/ui
- Plex: http://localhost:32400
注意 : 如果你使用非80
端口,则需要进入 AriaNg,修改 RPC 地址端口为你暴露出的端口。因为该镜像 Filebrowser 和 Aria2c 共享一个端口。
使用 h5ai 作为在线文件查看和播放
git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git
cd aria2-ariang-x-docker-compose/h5ai
docker-compose up -d
搞定!
- 查看文件 h5ai: http://localhost:8000
- AriaNg: http://localhost:8000/aria2/
使用 Filerun 作为在线文件管理器
git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git
cd aria2-ariang-x-docker-compose/filerun
docker-compose up -d
一切搞定,尽情享受吧!
- 文件管理 Filerun, 请使用
superuser / superuser
进行登录: http://localhost:8000 - AriaNg: http://localhost:8000/aria2/
使用 Nextcloud 安装
git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git
cd aria2-ariang-x-docker-compose/nextcloud
docker-compose up -d
- 文件管理 Nextcloud: http://localhost, 使用你喜欢的任意用户名和密码登录
- AriaNg: http://localhost/ui
Nextcloud 还需额外的一点手动操作,链接配置外部存储
注意 : 由于 Nextcloud 镜像启动较慢,平均需要 3-10 分钟,在启动之前访问会得到502
错误,请耐心等待一下,如果 Docker 相关容器没有错误日志,即不用担心。
ARM Nextcloud
终于你在树莓派?上也可以使用本项目了。ARM 版本的 Nextcloud 和普通的 Nextcloud 提供一样的功能,唯一不同的是,启动的命令需要指定不同的文件
git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git
cd aria2-ariang-x-docker-compose/nextcloud
docker-compose -f arm32-docker-compose.yml up
- 文件管理 Nextcloud: http://localhost, 使用你喜欢的任意用户名和密码登录
- AriaNg: http://localhost/ui
Nextcloud 还需额外的一点手动操作,链接配置外部存储
注意 : 由于 Nextcloud 镜像启动较慢,平均需要 3-10 分钟,在启动之前访问会得到502
错误,请耐心等待一下,如果 Docker 相关容器没有错误日志,即不用担心。
升级
进入 filerun, h5ai 或者 nextcloud 目录
docker-compose stop # 将 docker 镜像暂时关掉
git pull origin master # 获取最近代码
docker-compose pull # 手动获取最新版镜像
docker-compose up -d # 运行最新版本的镜像
高级特性
- 使用
80
端口。 默认情况下,我们使用 8000 端口,而不是 80 端口,主要是防止你可能有其他程序需要使用 80 端口。但是你可以自己修改对外暴露的端口。
打开 filerun,h5ai, nextcloud 下面的 docker-compose.yml
。将 aria2 节点下面的 ports 属性的 8000
改为 80
即可。
aria2:
image: wahyd4/aria2-ui:filerun
links:
- web:file-manager
ports:
- "8000:80" #将此处8000 改为 80端口
- "6800:6800"
volumes_from:
- web
- 对 AriaNg 启用 Basic Auth 登录密码验证,同样地,打开任何一个文件平台下面的
docker-compose.yml
文件。 启用和修改 aria2 服务下面的 environment 相关属性:
environment:
- ARIA2_USER=admin #basic auth 用户名
- ARIA2_PWD=password #basic auth 密码
- ENABLE_AUTH=true # 是否启用用户名和密码验证, 默认情况下不启用,当该值为 false 时也不启用。
- 启用 HTTPS,为了实现该功能,我们采用 Caddy 来作为我们的 web 服务器和反向代理服务器。当我们绑定域名后,Caddy 自动为站点启用 HTTPS。也仅仅需要修改相应
docker-compose.yaml
文件下 aria2 服务的相关属性即可。(由于 filerun 程序本身的问题,目前暂不支持 HTTPS)
environment:
- DOMAIN=demo.toozhao.com #这里输入你想要绑定的域名, 必须首先在域名管理处添加 A 记录。当我们仅仅通过 ip 访问时则应该改为: :80, 这表示绑定所有可以使用的 ip
- SSL=true #当值为 true 时,系统会自动启用 HTTPS
- RPC_SECRET=Hello #这个属性是 配置AriaNg 连接 Aria2 时需要,你可以输入你想要设置的密码。一旦设置了 HTTPS, Aria2 也只能使用 HTTPS。这时就必须使用该设置。
由于配置 HTTPS 比较麻烦,图文请参见启用 SSL
找到你下载的文件
这里的 docker-compose 文件,将本地的./data
目录作为了 docker volume 来存储下载的各类文件,因此你可以在 docker-compose
文件所在目录data
子目录目录找到所有文件。你也可以根据自己的需要修改目录设置
peerflix-server是一款带有 web ui 的 node.js 流式 torrent 客户端。
Cloud torrent 是一个自托管的远程 torrent 客户端,用 Go (golang) 编写。 您远程启动种子文件,这些文件作为文件集下载到服务器的本地磁盘上,然后可通过 HTTP 检索或流式传输。
docker安装
快速安装
docker buildx build --platform linux/arm/v7,linux/arm64,linux/amd64 -t aria2-ui .
- Aria2: http://yourip
- Filebrowser: http://yourip/files
- Rclone: http://yourip/rclone
- 请使用 admin/admin 进行登录Filebrowser, 在如果没有修改
ARIA2_USER
,ARIA2_PWD
的情况下,请使用user
/password
登录Rclone
开启所有功能
docker run -d --name ariang \
-p 80:80 \
-p 443:443 \
-e PUID=1000 \
-e PGID=1000 \
-e ENABLE_AUTH=true \
-e RPC_SECRET=Hello \
-e DOMAIN=https://example.com \
-e ARIA2_SSL=false \
-e ARIA2_USER=user \
-e ARIA2_PWD=pwd \
-e ARIA2_EXTERNAL_PORT=443 \
-v /yourdata:/data \
-v /app/a.db:/app/filebrowser.db \
-v /yoursslkeys/:/app/conf/key \
-v <conf files folder>:/app/conf \
wahyd4/aria2-ui
使用docker-compose 运行
如果你不想记住那些命令行,你也可以使用docker-compose来将配置放在docker-compose.yaml
文件中
version: "3.5"
services:
aria2-ui:
restart: unless-stopped
image: wahyd4/aria2-ui:latest
environment:
- ENABLE_AUTH=true
- ARIA2_USER=hello
- ARIA2_PWD=world
- DOMAIN=http://toozhao.com
volumes:
- ./data:/data
然后使用 docker-compose up -d
运行即可
支持的 Docker 环境变量
ENABLE_AUTH
启用 Basic auth(网页简单认证) 用户认证ENABLE_RCLONE
是否启用 RCLONE,由于Rclone 的初次运行需要从Github 下载文件,由于你懂的原因,可能文件下载失败,进而导致整个程序崩溃,这时你需要设置为false
ARIA2_USER
Basic Auth 用户认证用户名,Rclone也使用该参数ARIA2_PWD
Basic Auth 密码,Rclone也使用该参数ARIA2_EXTERNAL_PORT
从外部可以访问到的 Aria2 端口,默认为 HTTP 的80
PUID
需要绑定主机的Linux用户ID,可以通过cat /etc/passwd
查看用户列表, 默认UID 是1000
PGID
需要绑定的主机的Linux 用户组ID,默认GID 是1000
RPC_SECRET
Aria2 RPC 加密 tokenDOMAIN
绑定的域名, 当绑定的域名为HTTPS
时,即为启用HTTPS
, 例:DOMAIN=https://toozhao.com
RCLONE_CONFIG_BASE64
通过base64
字符串的形式配置rclone.conf。主要给在Heroku平台上运行时使用,请使用命令行cat /app/conf/rclone.conf | base64
或者其他任何在线base64在线工具 比如这个来把rclone.conf
的内容生成base64
字符串。在使用本环境变量的同时,请确保ENABLE_RCLONE
设置为true
。ENABLE_APP_CHECKER
,默认情况下本程序会每天向远程服务器发送一次GET请求,以检查是否有新版本的镜像。该功能可以让你及时获取新功能和相关安全隐患的修复的推送提醒。你也可以选择将该环境变量设置为false
来禁用该功能。注意该功能启用下,依然需要手动更新镜像来完成升级。
支持的 Docker volume 属性
/data
用来放置所有下载的文件的目录/app/conf/key
用户来放置 Aria2 SSLcertificate
证书和key
文件.注意
: 证书的名字必须是aria2.crt
, Key 文件的名字必须是aria2.key
/app/conf
该目录下可以放置你的自定义aria2.conf
配置文件,aria2.session
,且必须包含这两个文件。第一次使用aria2.session
时,创建一个空文件即可,该文件会包含aria2当前的下载列表,这样即使容器被销毁也不用担心文件列表丢失了。你也可以直接拷贝当前项目下conf
目录中的两个文件并使用。如需映射rclone.conf到容器内,请将其就放置于该目录下。因此配置文件目录支持的所有配置文件为:- aria2.conf
- aria2.session
- rclone.conf
/app/filebrowser.db
File Browser 的内嵌数据库,升级Docker 镜像也不用担心之前的设置丢失。请确保在宿主机先创建一个空文件再使用。
自动 SSL
请在绑定域名前,设置DNS
的一条A
记录,将运行docker的主机IP绑定到该域名。然后你仅仅需要在运行时添加e
设置即可。
docker run -d --name aria2-ui -p 80:80 -p 443:443 -e DOMAIN=https://toozhao.com wahyd4/aria2-ui