真诚友善团结专业,共建你我引以为荣之社区。《常见问题解答》
1 / 12
4月 27 日

示范站点: https://www.guoji.de
本来alist有带aria2的镜像, 开始不知道, 后来想着"既然都是为了醋包的饺子, 干脆把饺子包大一点"

# 随便建个目录 mkdir aac-docker && cd aac-docker # 创建一个开启了ipv6, 默认驱动为bridge的网络 # 如果用compose文件管理网络, 在停止, 删除容器时, 有些许小麻烦 docker network create --ipv6 shared vim docker-compose.yml

aac-docker/docker-compose.yml

services: aria2: container_name: aria2 image: p3terx/aria2-pro restart: unless-stopped networks: - shared ports: # aria2 必须在宿主机映射端口, 要与公网交互 - 6800:6800 - 6888:6888 - 6888:6888/udp environment: - PUID=0 # 改为0, 即root, 避免alist下发任务的时候没有权限创建文件夹 - PGID=0 # 改为0, 即root组, 避免alist下发任务的时候没有权限创建文件夹 - UMASK_SET=022 - RPC_SECRET=XIAMI # 改成自己的密钥 - RPC_PORT=6800 - LISTEN_PORT=6888 - DISK_CACHE=64M - IPV6_MODE=true - UPDATE_TRACKERS=true volumes: - ./aria2/config:/config - ./aria2/downloads:/opt/alist/data/temp/aria2 # alist 下发的下载目录 # Since Aria2 will continue to generate logs, limit the log size to 1M to prevent your hard disk from running out of space. logging: driver: json-file options: max-size: 1m alist: # 没有映射端口, 由caddy反代, 也没有expose, 源镜像的Dockfile expose了, 知道是5244就行 image: xhofe/alist:main container_name: alist networks: - shared volumes: - ./alist:/opt/alist/data - ./aria2/downloads:/opt/alist/data/temp/aria2 # aria2下载后的文件映射回alist environment: - PUID=0 - PGID=0 - UMASK=022 restart: unless-stopped caddy: image: caddy:latest container_name: caddy cap_add: - NET_ADMIN networks: - shared restart: unless-stopped ports: - 80:80 - 443:443 - 443:443/udp volumes: - ./caddy/conf:/etc/caddy - caddy_data:/data - caddy_config:/config volumes: caddy_data: caddy_config: networks: shared: external: true # 使用我们自己创建的network
# 搞定 docker compose up -d

完成后 目录结果像这样, 目录都由docker创建

$ tree . . ├── alist │ ├── config.json │ ├── data.db │ ├── data.db-shm │ ├── data.db-wal │ ├── log │ │ └── log.log │ └── temp │ └── aria2 ├── aria2 │ ├── config │ │ ├── aria2.conf │ │ ├── aria2.session │ │ ├── dht6.dat │ │ ├── dht.dat │ │ ├── LICENSE │ │ ├── script │ │ │ ├── clean.sh │ │ │ ├── core │ │ │ ├── delete.sh │ │ │ └── tracker.sh │ │ └── script.conf │ └── downloads │ └── 0095af8d-c4e8-48e7-b409-c66aafab8381 ├── caddy │ ├── conf │ │ └── Caddyfile │ └── site └── docker-compose.yml 13 directories, 17 files

离线下载只需要到alist后台->设置->其他写成下面就可以

感谢分享 学习下下

其实建议caddy2放到系统级别来,单独镜像host或者直接二进制安装,反向代理aria2和alist服务。caddy 就可以一并实现其他服务的代理

现有的暴露6800端口,不算最佳实践,建议修改为127.0.0.1:6800:6800,反向代理为 aria2.域名。

然后搭配gui插件(aria-ng),设置网址为aria2c.域名,端口为443,+鉴权密钥。

佬,请教一下,我看很多docker compose中都会集成caddy
我不是太明白
就贴主这个yaml文件来说,添加了caddy后,可以远程让部署aria2的机子下载?

我想要一个挂载网盘的程序->安装alist容器
我想要通过我的域名:guoji.de访问alist->安装caddy or nginx 容器
安装完alist和caddy后发现alist的镜像安装错了, alist有带aria2的镜像, 保持alist源镜像不变额外装了一个aria2的容器, 这一步纯属多余, 本来改个镜像名字就行的, 我是为了练手

个人和楼主用法不太一样,aria2和alist是分开的两个单独容器,两者挂载目录有重叠。

aria2配合firefox的插件,配置好api和密钥,浏览的过程可以直接离线下载。alist同样如此操作,配置api和密钥。

caddy仅仅是反向代理,放在系统级别的好处是代理其他服务更灵活,不需要桥接网络。

通过https访问
pan.example.comaria2.example.com(端口不能填写6800,需要填写443或者不填也可以).

真的nginx一类的放宿主机比较好
我练手把caddy换成nginx, 在宿主机安装certbot签发证书, 再挂载回容器, 在宿主机修改conf还要想着容器里的路径, 搞死人

佬问一下
假如按你说的用二级域名aria2.example.com反代6800端口, 但是域名是通过cf解析, 并且开了小黄云, 会影响下载吗?

此话题将在最后一个回复的1 个月后关闭。