Docker部署Alist和Aria2实现离线下载文件到云盘

作者:Xie 日期:2023/09/15 分类:技术分享

安装Alist

docker run -d --restart=unless-stopped -v ./alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest
# /etc/alist宿主机地址;/opt/alist/data 容器内地址
#或者docker-compose
services:
    alist:
        image: 'xhofe/alist:latest'
        container_name: alist
        volumes:
            - './alist:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        restart: unless-stopped

这一步可参考官方文档

安装Aria2

这里使用的是superng6优化版本,地址:aria2

docker run -d 
  --name=aria2 
  -e PUID=0 
  -e PGID=0 
  -e TZ=Asia/Shanghai 
  -e SECRET=Password 
  -e CACHE=512M 
  -e PORT=6800 
  -e BTPORT=32516 
  -e WEBUI=true 
  -e WEBUI_PORT=8080 
  -e UT=true 
  -e RUT=true 
  -e FA=falloc 
  -e QUIET=true 
  -e SMD=true 
  -p 32516:32516 
  -p 32516:32516/udp 
  -p 6800:6800 
  -p 8080:8080 
  -v /aria2/config:/config 
  -v /aria2/downloads:/downloads   #指定下载路径
  -v /etc/alist:/opt/alist/data 
  --restart unless-stopped 
  superng6/aria2:webui-latest

这里踩坑了,Alist推送下载时,默认推送到/opt/alist/data,注意这里一定要加上映射:

  -v /etc/alist:/opt/alist/data 

不然离线下载文件到云盘时会报错:no such file or director,并且不能直接映射到Aria2的下载路径,必须要指定到/etc/alist,因为alist是会先下载到/opt/alist/data,再转存到所指定的离线下载路径,这个问题最后还是请教了一位很耐心的博主帮我解决的,可参考他的博客

另外上面docker运行时,注意 -e SECRET=Password ,这里“Password”填写自己要设置的Aria密钥,后面会用到

附Aria2配置说明:

Docker部署Alist和Aria2实现离线下载文件到云盘

Alist中配置Aria2开启离线下载

进入alist管理后台,在“设置 – 其他”中找到Aria配置,如下图:

Docker部署Alist和Aria2实现离线下载文件到云盘

Aria2地址:http://你的IP:6800/jsonrpc

Aria2密钥:就是第二步中安装Aria2时你设置的SECRET

然后点击“设置Aria2”,如果一切正常,右上角会显示如下图片

Docker部署Alist和Aria2实现离线下载文件到云盘

现在就可以使用alist的离线下载功能了,当然你需要先在alist后台挂载云盘

具体挂载方法这里不再赘述,官方文档里都有说明,按照步骤操作就行

离线下载文件到指定云盘

在你的alist前端,直接进入到你想要离线下载的目标云盘目录中,点击右下角的离线下载,输入下载链接就可以了:

Docker部署Alist和Aria2实现离线下载文件到云盘

进入alist后台任务管理,可以看到下载任务具体情况:

Docker部署Alist和Aria2实现离线下载文件到云盘

安装AriaNG

这一步不是必须,AriaNg 是一个让 aria2 更容易使用的现代 Web 前端,详见官网

在AriaNG,也可以进行文件离线下载,包括Aria2的所有配置,都可以在AriaNG中进行管理,这里同样使用docker进行安装。

拉取AriaNG镜像:

docker pull p3terx/ariang

启动容器:

docker run -d 
--name ariang 
--log-opt max-size=1m 
--restart unless-stopped 
-p 16880:6880 
p3terx/ariang

这里的端口可以自行设置,访问AriaNG时需要填写该端口

进入AriaNG管理界面:http://你的ip:16880

Docker部署Alist和Aria2实现离线下载文件到云盘

RPC别名:随意填就好 RPC地址:填写你服务器的域名或IP,后面的端口号就是前面启动的aria2的RPC通讯端口 RPC协议:选默认的HTTP RPC Http请求方法:使用默认的POST RPC密钥:填写前面启动的aria2的RPC密钥

Aria2状态显示“已连接”就说明配置成功了,Chrome配合油猴插件就能实现百度网盘文件不限速离线下载啦


10月31日更新

最近发现使用docker创建的alist不方便本地存储的挂载与管理,故将Alist直接安装

而继续使用docker来搭建Aria2,重新新建个Aria2容器即可

docker run -d 
  --name=aria2 
  -e PUID=0 
  -e PGID=0 
  -e TZ=Asia/Shanghai 
  -e SECRET=Password 
  -e CACHE=512M 
  -e PORT=6800 
  -e BTPORT=32516 
  -e WEBUI=true 
  -e WEBUI_PORT=8080 
  -e UT=true 
  -e RUT=true 
  -e FA=falloc 
  -e QUIET=true 
  -e SMD=true 
  -p 32516:32516 
  -p 32516:32516/udp 
  -p 6800:6800 
  -p 8080:8080 
  -v /aria2/config:/config 
  -v /aria2/downloads:/downloads   #指定下载路径
  -v /opt/alist/data:/opt/alist/data 
  --restart unless-stopped 
  superng6/aria2:webui-latest

24年9月24更新

docker-compose的Alist&Aria2一键部署

version: '3'
services:
  alist:
    image: 'xhofe/alist:latest'
    container_name: alist
    volumes:
      - './alist:/opt/alist/data'
    ports:
      - '5244:5244'
    environment:
      - PUID=0
      - PGID=0
      - UMASK=022
    restart: unless-stopped
    depends_on:
      - aria2  
    networks:
      - aria2-network

  aria2:
    image: superng6/aria2:webui-latest
    container_name: aria2
    environment:
      - PUID=0
      - PGID=0
      - TZ=Asia/Shanghai
      - SECRET=Password
      - CACHE=512M
      - PORT=6800
      - BTPORT=32516
      - WEBUI=true
      - WEBUI_PORT=8080
      - UT=true
      - RUT=true
      - FA=falloc
      - QUIET=true
      - SMD=true
    ports:
      - "32516:32516"
      - "32516:32516/udp"
      - "6800:6800"
      - "8880:8080"
    volumes:
      - ./aria2/config:/config
      - ./aria2/downloads:/downloads
      - ./alist:/opt/alist/data  
    restart: unless-stopped
    networks:
      - aria2-network

networks:
  aria2-network:
    driver: bridge

参考文章

https://hulanlan.com/index.php/2022/12/28/docker%E9%83%A8%E7%BD%B2alist%E5%92%8Caria2%E5%AE%9E%E7%8E%B0%E7%A6%BB%E7%BA%BF%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6%E5%88%B0%E4%BA%91%E7%9B%98/

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注