由于常用的服务有好几个,迁移起来比较麻烦,于是把几个docker-compose整合到了一起。
完整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
使用此种方式是最简单的了,直接把当前文件夹打包迁移,直接部署即可!
问题排坑
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/
传输报错问题
一直报错,最后发现是权限和映射的问题。
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小时内删除,不允许用于商业用途,否则法律问题自行承担。