示范站点: 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后台->设置->其他写成下面就可以