1、通过alist发送到aria2的下载链接,无法下载,提示“无法创建指定目录”。
这个原因一般是由于两个容器所使用的UID与GID不一致造成的,alist默认使用的root用户,即UID=0、GID=0,所以在aria2中,也要指定UID和GID为0,即root用户和用户组,这样以同样的用户和用户组运行,就不会出现上面的错误了。
2、无法transfer,alist显示aria2已下载完,但不能复制,或者是alist搭配aria2使用中无法下载文件以及显示如Failed to make the directory /opt/alist/data/temp/aria2/a101f3a4-caf4-446b-848c-dbea053e13d3, cause: Permission denied等类似问题。
aria2中,我们常规的一般是挂载以下目录,一个是配置文件目录,一个是下载目录;
-v /data/docker/aria2/config:/config
-v /data/docker/alist/temp/downloads:/downloads
但是通过配合alist使用时,需要注意一个问题,通过alist发送到aria2中的下载信息中,包含了指定的下载目录,并不会下载到默认的/downloads目录中,一般是/opt/alist/data/temp/aria2这个目录,所在aria2容器中还要指定挂载这个目录,将它暴露到宿主主机中。
配置aria2容器时,要将宿主主机的“/data/docker/alist/temp/aria2”目录挂载到aria2容器的“/opt/alist/data/temp/aria2”中:
-v /data/docker/alist/temp/aria2:/opt/alist/data/temp/aria2
通过上面的操作后,还需要在alist中加一个映射,不然文件下载完成后是不能transfer的,因为下载好的文件并没到alist的容器中,还只存在于aria2容器中及aria2映射到的宿主主机的目录中,alist在transfer时,在自己的容器中还找不到下载好的文件,所以不能transfer。
解决方法就是把宿主主机中存放有下载文件的目录/data/docker/alist/temp/aria2,与alist容器对应的目录/opt/alist/data/temp/aria2,进行挂载。
配置alist容器时,要将宿主主机的“/data/docker/alist/temp/aria2”目录挂载到alist容器的“/opt/alist/data/temp/aria2”中:
-v /data/docker/alist/temp/aria2:/opt/alist/data/temp/aria2
这样,宿主主机的目录/data/docker/alist/temp/aria2就连接了aria2与alist(注意:这两个容器中的路径我使用的是默认的且相同的),使用了一个共用的宿主目录,就解决了不能transfer问题。
分享一个docker compose 模板,四合一,分别是qbittorrentee、aria2-pro、alist、ariang。
version: "3.9"
services:
# https://hub.docker.com/r/xhofe/alist
# https://alist.nn.ci/guide/install/docker.html#release-version
alist:
image: xhofe/alist:latest
container_name: alist
environment:
- PUID=0 # Find your own user PUID and group PGID. https://docs.linuxserver.io/general/understanding-puid-and-pgid
- PGID=0 # When using volumes (-v flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.
- Qbittorrent_ADDRESS=qbittorrentee
- Qbittorrent_PORT=8181
volumes:
- /opt/alist/data:/opt/alist/data
ports:
- 5244:5244
restart: always
networks:
- alistbridge
# Aria2-pro-docker official guide: https://github.com/P3TERX/Aria2-Pro-Docker/blob/master/docker-compose.yml
Aria2-Pro:
container_name: aria2-pro
image: p3terx/aria2-pro
environment:
- PUID=0
- PGID=0
- UMASK_SET=022
- RPC_SECRET=19shdkdhhah # 设置你的RPC密码.
- RPC_PORT=6800
- LISTEN_PORT=6888
- DISK_CACHE=64M
- IPV6_MODE=false
- UPDATE_TRACKERS=true
- CUSTOM_TRACKER_URL=
- TZ=Asia/Shanghai
volumes:
- /opt/aria2/config:/config # Aria2 Config
- /opt/aria2/downloads:/downloads # Aria2 Default Download Path
- /opt/alist/data:/opt/alist/data # Aria2 Data folder
ports:
- "6800:6800"
- "6888:6888"
- "6888:6888/udp"
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 1m
networks:
- alistbridge
AriaNg:
image: p3terx/ariang:latest
container_name: ariang
environment:
- PUID=0
- PGID=0
command: --port 6880 --ipv6
ports:
- "6880:6880"
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 1m
networks:
- alistbridge
# https://hub.docker.com/r/superng6/qbittorrentee
qbittorrent:
image: superng6/qbittorrentee:latest
container_name: qbittorrentee
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
- WEBUIPORT=8181
volumes:
- /opt/qbittorrent/config:/config # config
- /opt/qbittorrent/downloads:/downloads # Downloads
- /opt/qbittorrent/data:/opt/alist/data # Data
ports:
- 8181:8181
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
networks:
- alistbridge
networks:
alistbridge:
driver: bridge
此模板宿主目录已经统一,不会出现alist无法使用aria2离线下载的问题。
项目贴:
https://github.com/ShinChven/alist-aria2-pro-docker-compose
发现沙发条评论