小朊的朋友圈
小朊
小朊博主

活着

Aria2-AriaNg-X docker-com搭建教程——搭建在线下载 BT, 磁力链接,在线观看,全功能文件管理,云盘应用

# 介绍

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 安装

如果你希望指定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
THE END