介绍

Aria2-AriaNg-X docker-compose可以在线查看,预览下载的文件,让我们自己在自己 vps 上就可以拥有某些在线服务商提供的离线下载(迅雷、115)这样的功能。而且所有的控制权都在你手里,不用担心被删除资源
同时提供了 Aria2 + AriaNg + filerun 和 Aria2 + AriaNg + Nextcloud

比较 FileBrowser, Filerun, h5ai 和 Nextcloud

比较类别FilerunNextcloudh5aiFilebrowser
Docker 镜像大小200M500M20M40M
功能功能少功能强大功能少功能足够
UI简洁精美简洁简洁
依赖必须要 Mysql 数据库可以直接使用 内嵌 SQLlite,也可以使用其他外置数据库无数据库内嵌数据库
集成难度全自动,无需人工操作需要人工操作两步全自动全自动
客户端有移动和桌面客户端
登录安全支持用户名密码登录支持用户名密码登录用户名密码登录
容器数量mysql, filerun, aria2nextcloud, aria2h5ai, aria2只需一个
总结轻量级功能全面,本身可以作为一个很好的云盘使用仅提供文件列表,和查看文件,播放音视频文件功能一个容器集成所有功能

我更喜欢 Nextcloud。毕竟颜值更高,功能强大还有各种客户端

安装

使用 Filebrowser 安装

如果你希望指定UIDGID,还希望可以使用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

就这么简单!

  1. Filebrowser http://localhost
  2. AriaNg: http://localhost/ui
  3. 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

搞定!

  1. 查看文件 h5ai: http://localhost:8000
  2. 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

一切搞定,尽情享受吧!

  1. 文件管理 Filerun, 请使用 superuser / superuser 进行登录: http://localhost:8000
  2. 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
  1. 文件管理 Nextcloud: http://localhost, 使用你喜欢的任意用户名和密码登录
  2. 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
  1. 文件管理 Nextcloud: http://localhost, 使用你喜欢的任意用户名和密码登录
  2. 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 # 运行最新版本的镜像

高级特性

  1. 使用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
  1. 对 AriaNg 启用 Basic Auth 登录密码验证,同样地,打开任何一个文件平台下面的 docker-compose.yml文件。 启用和修改 aria2 服务下面的 environment 相关属性:
environment:
  - ARIA2_USER=admin #basic auth 用户名
  - ARIA2_PWD=password #basic auth 密码
  - ENABLE_AUTH=true # 是否启用用户名和密码验证, 默认情况下不启用,当该值为 false 时也不启用。
  1. 启用 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 .

开启所有功能

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 加密 token
  • DOMAIN 绑定的域名, 当绑定的域名为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 SSL certificate证书和 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