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

© 版权声明
分享是一种美德,转载请保留原链接