wahyd4 / aria2-ariang-x-docker-compose

Docker compose files for Aria2+ AriaNg+ filerun/ Nextcloud/ h5ai + Plex. 图形化BT,磁力,离线下载,文件管理,播放,投屏
1.8k stars 282 forks source link
aria2 aria2-gui ariang ariang-aria2 docker-compose filerun h5ai nextcloud plex

Aria2-AriaNg-X docker-compose

‼️推荐使用单容器版本 https://github.com/wahyd4/aria2-ariang-docker

中文 | English

buy me a drink

这个项目是提供一个 docker-compose 文件,让你可以一步就拥有一个集图形化界面的 Aria2 下载(AriaNg)和在线预览和管理文件的平台:

应用截图

名称 截图
AriaNg AriaNg
Filerun filerun
h5ai h5ai
nextcloud nextcloud
Filebrowser filebrowser

为什么会有这个东西

比较 FileBrowser, Filerun, h5ai 和 Nextcloud

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

安装与使用

提示 如果你不是在本地安装,请记得替换 localhost 为你的 ip 或者绑定的域名哦!!

  1. 安装 Docker CE (社区版),不要使用 Ubuntu 等操作系统系统自带的安装包来安装,因为他们的版本都很老了。推荐使用官方提供的方式安装

  2. 安装 Docker Compose https://docs.docker.com/compose/install/#install-compose

使用 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 作为在线文件管理器

因为Filerun官方将其产品改成付费版,并不再提供免费版本了,因此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 子目录目录找到所有文件。你也可以根据自己的需要修改目录设置

什么?一个 Docker 镜像包含所有功能?Yes!!!(如:在群晖中运行)

  docker run -d --name aria2-ui -p 80:80 -v ~/data:/data wahyd4/aria2-ui

80 本地则是你暴露出对外访问的 AriaNg 图形界面的端口, ~/data/ 是你所有通过 Aria2 下载的文件目录

推荐 :使用该 Docker 镜像,一个镜像集成 BT 下载、文件管理、在线播放等功能。关于该镜像的更多使用介绍,请参考:https://github.com/wahyd4/aria2-ariang-docker

常见问题 FAQ

Plex

Plex Media server Plex 是一个视频服务器,有了 Plex 之后,你通过本程序可以实现:

下载视频 -> 文件管理 -> 视频播放 -> 分享 / 远程投屏 集一体的解决方案。 分别对应的组件为:

aria2 -> File Browser -> Plex/ File Browser -> Plex app / DLNA / Chromecast / Apple airplay 等等。

快速运行

  1. 在你希望的运行电脑或者服务器上 git clone 本仓库
  2. 前往 https://www.plex.tv/claim/ 获取 TOKEN, 并填充至 plex-filebrowser 目录下的 docker-compose.yml下的 PLEX_CLAIM字段。
  3. 在命令行中运行
cd plex-filebrowser
docker-compose up -d
  1. 在浏览器中打开 http://loclahost:32400,使用 Plex 平台账号登录即可像你在其他地方使用 Plex 一样享受播放、投屏的快乐了。

更多 Plex 的使用,请前往: https://www.plex.tv/zh/