整合aria2、alist、misskey、frp的docker-compose.yml

由于常用的服务有好几个,迁移起来比较麻烦,于是把几个docker-compose整合到了一起。

整合aria2、alist、misskey的docker-compose.yml

完整docker-compose.yml

# 随机生成一个密码
#docker exec -it alist ./alist admin random
# 手动设置一个密码,`NEW_PASSWORD`是指你需要设置的密码
#sudo docker exec -it alist ./alist admin set 123123
#使用 docker,请自行映射以下两个默认路径(映射至宿主机相同的目录)  已经在yml里映射好了
#/opt/alist/data/temp/aria2
#/opt/alist/data/temp/qbittorrent




version: '3.8'
services:
  frps_service:
    image: snowdreamtech/frps
    restart: always
    network_mode: "host"
    volumes:
      - ./frp/frps.toml:/etc/frp/frps.toml
    container_name: frps_service

#   frpc_service1:
#     image: snowdreamtech/frpc
#     restart: always
#     network_mode: "host"
#     volumes:
#       - ./frp/frpc1.toml:/etc/frp/frpc.toml
#     container_name: frpc_service1


#   qbittorrent:
#     container_name: qbittorrent
#     image: linuxserver/qbittorrent
#     environment:
#       - PUID=0
#       - PGID=0
#       - TZ=Asia/Shanghai
#       - UMASK_SET=022
#     volumes:
#       - './qbittorrent/config:/config'
#       - './downloads:/downloads'
#       - './downloads/temp/qbittorrent:/opt/alist/data/temp/qbittorrent'
#     ports:
#       - 6881:6881
#       - 6881:6881/udp
#       - 8080:8080
#     networks:
#       - internal_network
#       - external_network
#     restart: unless-stopped
    
  aria2-pro:
    container_name: aria2-pro
    image: p3terx/aria2-pro
    environment:
      - PUID=0
      - PGID=0
      - UMASK_SET=022
      - RPC_SECRET=设置个密码
      - RPC_PORT=6800
      - LISTEN_PORT=6888
      - DISK_CACHE=64M
      - IPV6_MODE=false
      - UPDATE_TRACKERS=true
      - CUSTOM_TRACKER_URL=
      - TZ=Asia/Shanghai
    volumes:
      - './aria2/config:/config'
      - './downloads:/downloads'
      - './downloads/temp/aria2:/opt/alist/data/temp/aria2'
    ports:
      - 6800:6800
      - 6888:6888
      - 6888:6888/udp
    networks:
      - internal_network
      - external_network
    restart: unless-stopped
    logging:
      driver: json-file
      options:
        max-size: 1m

  ariang:
    container_name: ariang
    image: p3terx/ariang
    command: --port 6880 --ipv6
    networks:
      - internal_network
      - external_network
    ports:
      - 6880:6880
    restart: unless-stopped
    logging:
      driver: json-file
      options:
        max-size: 1m

  alist:
    restart: always
    volumes:
      - '/www:/www'
      - './alist/data:/opt/alist/data'
      - './downloads/temp/aria2:/opt/alist/data/temp/aria2'
      - './downloads/temp/qbittorrent:/opt/alist/data/temp/qbittorrent'
    ports:
      - '5244:5244'
    environment:
      - PUID=0
      - PGID=0
      - UMASK=022
    container_name: alist
    image: 'xhofe/alist:main'
    networks:
      - external_network

#   web:
#     container_name: misskey_web
#     image: misskey/misskey:latest
#     restart: always
#     links:
#       - db
#       - redis
#     #   - meilisearch
#     depends_on:
#       db:
#         condition: service_healthy
#       redis:
#         condition: service_healthy
#     #   meilisearch:
#     #     condition: service_healthy
#     ports:
#       - "3000:3000"
#     networks:
#       - internal_network
#       - external_network
#     volumes:
#       - './misskey/files:/misskey/files'
#       - './misskey/.config:/misskey/.config:ro'

#   redis:
#     container_name: misskey_redis
#     restart: always
#     image: redis:7-alpine
#     networks:
#       - internal_network
#     volumes:
#       - './misskey/redis:/data'
#     healthcheck:
#       test: "redis-cli ping"
#       interval: 5s
#       retries: 20

#   db:
#     container_name: misskey_db
#     restart: always
#     image: postgres:15-alpine
#     networks:
#       - internal_network
#     env_file:
#       - './misskey/.config/docker.env'
#     volumes:
#       - './misskey/db:/var/lib/postgresql/data'
#     healthcheck:
#       test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
#       interval: 5s
#       retries: 20

#   meilisearch:
#     restart: always
#     image: getmeili/meilisearch:v1.3.4
#     environment:
#       - MEILI_NO_ANALYTICS=true
#       - MEILI_ENV=production
#     env_file:
#       - './misskey/config/meilisearch.env'
#     networks:
#       - internal_network
#     volumes:
#       - './misskey/meili_data:/meili_data'

networks:
  internal_network:
    internal: true
  external_network:
    driver: bridge

使用此种方式是最简单的了,直接把当前文件夹打包迁移,直接部署即可!

整合aria2、alist、misskey的docker-compose.yml

问题排坑

nginx的反代问题

首先是alist和aira2的通信问题,因为使用了反代,需要在反代中增加不同的端口配置

#PROXY-START/

location ^~ /
{
    proxy_pass http://ip:6880;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache
    
    
    set $static_fileY2Ol9AFq 0;
    if ( $uri ~* ".(gif|png|jpg|css|js|woff|woff2)$" )
    {
    	set $static_fileY2Ol9AFq 1;
    	expires 1m;
        }
    if ( $static_fileY2Ol9AFq = 0 )
    {
    add_header Cache-Control no-cache;
    }
}
location /jsonrpc {
        proxy_pass http://localhost:6800;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
#PROXY-END/

 

传输报错问题

一直报错,最后发现是权限和映射的问题。

整合aria2、alist、misskey的docker-compose.yml

failed to transfer file: failed to get files: lstat /opt/alist/data/temp/aria2

aria2和alist的GUID和PGID都设置成了0方便通信,其次为了确保两个docker的文件夹能传输,都映射到了合适的位置

本文作者:𝙕𝙆𝘾𝙊𝙄

文章名称:整合aria2、alist、misskey、frp的docker-compose.yml

文章链接:https://www.zkcoi.com/365up/program/3111.html

本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
𝙕𝙆𝘾𝙊𝙄𝙕𝙆𝘾𝙊𝙄
上一篇 2024年1月16日
下一篇 2024年1月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

私聊博主

立即联系
一般有空就回复

qrcode_web

微信扫码联系我

分享本页
返回顶部