簡介:使用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/