Linux搗鼓記錄:快速搭建alist+aria2+qbittorrent

lwlnice發表於2024-07-10

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

相關文章