Linux捣鼓记录:快速搭建alist+aria2+qbittorrent
简介:使用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 qq995468225
alist:
image: xhofe/alist:latest
container_name: alist
ports:
- "5222:5244"
environment:
- PUID=1000
- PGID=1000
- UMASK=022
restart: always
volumes:
- /home/dalong/app/alist:/opt/alist/data
- /home/dalong:/home
# Aria2 Pro 的官方部署文档: https://github.com/P3TERX/Aria2-Pro-Docker/blob/master/docker-compose.yml
aria2:
container_name: aria2
image: p3terx/aria2-pro
environment:
- 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/Shanghai
volumes:
- /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-stopped
logging:
driver: json-file
options:
max-size: 1m
# 等启动后,可以查找默认生成的密码 docker logs -f qbittorrent
qbittorrent:
image: linuxserver/qbittorrent
container_name: qbittorrent
restart: always
ports:
- "6881:6881"
- "6881:6881/udp"
- "8080:8080"
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
volumes:
- /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/