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/

posted @ 2024-07-10 11:27  lwlnice  阅读(378)  评论(0编辑  收藏  举报