简介:使用docker-compose创建alist aria2 qbittorrent服务,前置条件安装docker及docker-compose插件,docker镜像仓库访问不了,建议配置代理用来拉取镜像。
一、确认路径,确认UID GID,确认端口
路径
alist挂载路径:
- /home/dalong/app/alist:/opt/alist/data
- /home/dalong:/home
aria2挂载路径:
- /home/dalong/.aria2:/config
- /home/dalong/download:/downloads
# 在:号前配置你要在主机上保存下载文件的路径
- /home/dalong/app/alist:/opt/alist/data #这个卷映射的是alist的路径,保证alist调用aria2离线下载时路径可访问
qbittorrent挂载路径:
- /home/dalong/.qbittorrent:/config
- /home/dalong/download:/downloads
- /home/dalong/app/alist:/opt/alist/data #这个卷映射的是alist的路径,保证alist调用qbittorrent离线下载时路径可访问
终端执行命令id
查看用户的UID、GID:
我的主用户UID、GID都是1000
创建容器时指定UID、GID可以避免下载文件出现权限分组问题。指定错误或用root、其他用户创建容器,可能出现容器内服务无法创建配置文件、日志文件,或者下载的文件无法删改移动的问题。
端口,需要在防火墙添加规则放行端口:
alist端口:
- "5222:5244"
#5244是alist容器内默认端口,我使用外部端口5222映射5244,以后我访问alist服务就使用5222,要继续使用默认就5244:5244
#防火墙放行5222即可
aria2端口:
- "16800:6800"
- "16888:6888"
- "16888:6888/udp"
#16800:6800:这个端口映射是为 Aria2 的 JSON-RPC 接口服务的,通过访问16800 端口来控制容器中的 Aria2 实例
#16888:6888:这个端口映射通常用于 Aria2 的 BitTorrent 跟踪器通信
#防火墙放行16800,16888,alist配置aria2时使用16800端口
qbittorrent端口:
- "6881:6881"
- "6881:6881/udp"
- "8080:8080"
#防火墙放行6881,alist配置qbittorrent时使用8080
二、编写docker-compose配置
services:# Alist 的官方部署文档: https://alist-doc.nn.ci/en/docs/install/docker/## 等启动后,手动设置密码 docker exec -it alist ./alist admin set qq995468225alist:image: xhofe/alist:latestcontainer_name: alistports:- "5222:5244"environment:- PUID=1000- PGID=1000- UMASK=022restart: alwaysvolumes:- /home/dalong/app/alist:/opt/alist/data- /home/dalong:/home# Aria2 Pro 的官方部署文档: https://github.com/P3TERX/Aria2-Pro-Docker/blob/master/docker-compose.ymlaria2:container_name: aria2image: p3terx/aria2-proenvironment:- PUID=1000- PGID=1000- UMASK_SET=022- RPC_SECRET=995468225 # 配置Aria2 的 RPC secret 密钥,它将被用于 Alist 和 AriaNg 连接 Aria2- RPC_PORT=6800- LISTEN_PORT=6888- DISK_CACHE=64M- IPV6_MODE=false- UPDATE_TRACKERS=true- CUSTOM_TRACKER_URL=- TZ=Asia/Shanghaivolumes:- /home/dalong/.aria2:/config- /home/dalong/download:/downloads # 在:号前配置你要在主机上保存下载文件的路径- /home/dalong/app/alist:/opt/alist/data #这个卷映射的是alist的路径,保证alist调用aria2离线下载时路径可访问ports:- "16800:6800"- "16888:6888"- "16888:6888/udp"restart: unless-stoppedlogging:driver: json-fileoptions:max-size: 1m# 等启动后,可以查找默认生成的密码 docker logs -f qbittorrent qbittorrent:image: linuxserver/qbittorrentcontainer_name: qbittorrentrestart: alwaysports:- "6881:6881"- "6881:6881/udp"- "8080:8080"environment:- PUID=1000- PGID=1000- TZ=Asia/Shanghai- WEBUI_PORT=8080volumes:- /home/dalong/.qbittorrent:/config- /home/dalong/download:/downloads- /home/dalong/app/alist:/opt/alist/data #这个卷映射的是alist的路径,保证alist调用qbittorrent离线下载时路径可访问# Aria2 的 Web UI 浏览器有插件可以管理aria2 暂时不需要# AriaNg:# container_name: ariang# image: p3terx/ariang# command: --port 6880 --ipv6# ports:# - "6880:6880"# restart: unless-stopped# logging:# driver: json-file# options:# max-size: 1m
三、设置密码,登录服务
设置alist密码
docker exec -it alist ./alist admin set 123456
#123456替换为你的密码
aria2密码在容器创建时已经指定:
- RPC_SECRET=995468225
qbittorent需要查找默认生成的密码:
docker logs -f qbittorrent
登录地址:
alist:http://你的ip:5222/
alist配置aria2、qbittorrent离线下载
aria2:在aria插件中连接aria2,RPC密钥即密码
qbittorrent:http://你的ip:8080/