更新部署文件

This commit is contained in:
wangbo 2025-08-19 10:07:22 +08:00
parent 40a3e4fbb2
commit a698982476
3 changed files with 170 additions and 15 deletions

13
.env
View File

@ -34,6 +34,17 @@ PORTAINER_HTTPS_PORT=8091
#网络代理链接gpt等需要设置
CONFIG_PROXY_URL=
#实例ID、集群情况下区分不同客户端
CONFIG_INSTANCE_ID=2025
#消息队列
CONFIG_MQ_USER=admin
CONFIG_MQ_PASSWORD=easyai2025
CONFIG_MQ_HOST=localhost
CONFIG_MQ_PORT=5672
CONFIG_MQ_ADMIN_PORT=15672
#版本
VERSION=latest
#日志与调试
@ -44,6 +55,8 @@ CONFIG_TOKEN_EXPIRE=1800
CONFIG_JWT_SECRET='this is a very secret secret'
#minio
#MINIO_ROOT_USER=minioadmin
#MINIO_ROOT_PASSWORD=minioadmin

60
clean.sh Normal file
View File

@ -0,0 +1,60 @@
#!/bin/bash
echo "🚀 Starting Docker cleanup script..."
# 1. 清理已停止的容器
echo "➡️ Step 1: Removing all stopped containers..."
# -f: 强制删除
# docker ps -a -q: 列出所有容器包括已停止的并只显示ID
docker container prune -f
echo "✅ Done. Stopped containers have been removed."
# 2. 清理未使用的网络
echo "➡️ Step 2: Removing unused networks..."
docker network prune -f
echo "✅ Done. Unused networks have been removed."
# 3. 清理所有未使用的镜像
echo "➡️ Step 3: Removing all unused images..."
# docker image prune -a: -a 参数会删除所有未被任何容器引用的镜像,包括有标签的。
docker image prune -a -f
echo "✅ Done. All unused images have been removed."
# 4. 清理所有未使用的卷
echo "➡️ Step 4: Removing unused volumes..."
# 警告:卷通常用于持久化数据,请确保其中的数据不再需要。
docker volume prune -f
echo "✅ Done. Unused volumes have been removed."
# 5. 清理 Docker 构建缓存
echo "➡️ Step 5: Cleaning up Docker build cache..."
docker builder prune -f
echo "✅ Done. Build cache has been cleared."
# 6. 一键式清理,以防有遗漏
echo "➡️ Step 6: Running a final system-wide prune for good measure..."
docker system prune -a -f
echo "✅ Done. The final system prune is complete."
# 检查是否以 root 权限运行
if [ "$EUID" -ne 0 ]; then
echo "⚠️ This script requires root privileges. Please run with 'sudo'."
exit 1
fi
echo "➡️ Truncating log files for all containers..."
# 使用 docker inspect 命令获取日志文件的完整路径
for container_id in $(docker ps -aq); do
log_path=$(docker inspect --format='{{.LogPath}}' "$container_id")
if [ -f "$log_path" ]; then
log_size=$(du -sh "$log_path" | cut -f1)
if [ "$log_size" != "0" ]; then
echo " - Cleaning log file for container ID: $container_id (Size: $log_size)"
truncate -s 0 "$log_path"
fi
fi
done
echo "🎉 Docker cleanup finished! Checking disk usage again..."
df -h /var/lib/docker

View File

@ -49,7 +49,6 @@ services:
- "com.centurylinklabs.watchtower.enable=true"
ports:
- "${SERVER_HTTP_PORT}:3001" #http端口
- "${SERVER_WS_PORT}:3002" #websocket端口
read_only: true
networks:
comfyai:
@ -57,12 +56,14 @@ services:
depends_on:
- mongo
- redis
- rabbitmq
volumes:
- ./data/upload:/app/upload
- ./data/backups:/app/backups
- ./data/restores:/app/restores
- ./data/tmp:/tmp
- ./data/backend/.pm2:/app/.pm2
# - ./data/backend/pm2.config.js:/app/pm2.config.js
restart: unless-stopped
environment:
# MongoDB配置用户管理不会配置的话保持默认即可
@ -82,6 +83,46 @@ services:
- CONFIG_PROXY_URL=${CONFIG_PROXY_URL}
#禁用文档 true/false/留空
- CONFIG_DOCS_DISABLE=false
#MQ
- CONFIG_MQ_USER=${CONFIG_MQ_USER}
- CONFIG_MQ_PASSWORD=${CONFIG_MQ_PASSWORD}
- CONFIG_MQ_HOST=rabbitmq
- CONFIG_MQ_PORT=${CONFIG_MQ_PORT}
# 日志大小设置,避免日志文件过大
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "10"
ws-gateway:
container_name: easyai-wsgateway # websocket网关
# 阿里云镜像地址
image: registry.cn-shanghai.aliyuncs.com/easyaigc/wsgateway:latest # 阿里云
labels:
- "com.centurylinklabs.watchtower.enable=true"
ports:
- "${SERVER_WS_PORT}:3002" #http端口
read_only: true
networks:
- comfyai
depends_on:
- redis
- rabbitmq
volumes:
- ./data/wsgateway/.pm2:/app/.pm2
restart: unless-stopped
environment:
# Redis配置队列缓存不会配置的话保持默认即可
- CONFIG_COMFYUI_QUENE_REDIS_HOST=172.21.0.4
- CONFIG_COMFYUI_QUENE_REDIS_PORT=6379
- CONFIG_COMFYUI_QUENE_REDIS_PASSWORD=
#日志与调试
- LOG_LEVEL=${LOG_LEVEL}
#MQ
- CONFIG_MQ_USER=${CONFIG_MQ_USER}
- CONFIG_MQ_PASSWORD=${CONFIG_MQ_PASSWORD}
- CONFIG_MQ_HOST=rabbitmq
- CONFIG_MQ_PORT=${CONFIG_MQ_PORT}
# 日志大小设置,避免日志文件过大
logging:
driver: "json-file"
@ -113,6 +154,12 @@ services:
retries: 3
timeout: 10s
start_period: 60s
# 日志大小设置,避免日志文件过大
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "10"
redis:
image: registry.cn-shanghai.aliyuncs.com/comfy-ai/redis-aliyun:latest
container_name: redis
@ -126,6 +173,28 @@ services:
networks:
comfyai:
ipv4_address: 172.21.0.4
# 日志大小设置,避免日志文件过大
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "10"
rabbitmq:
image: registry.cn-shanghai.aliyuncs.com/easyaigc/mq:latest #阿里云镜像加速
# image: rabbitmq:4-management #官方原版镜像
container_name: rabbitmq
restart: unless-stopped
environment:
RABBITMQ_DEFAULT_USER: ${CONFIG_MQ_USER} # 登录用户名
RABBITMQ_DEFAULT_PASS: ${CONFIG_MQ_PASSWORD} # 登录密码
ports:
- "${CONFIG_MQ_PORT}:${CONFIG_MQ_PORT}" # 应用连接端口 (AMQP)
- "${CONFIG_MQ_ADMIN_PORT}:15672" # Web 管理界面
volumes:
- rabbitmq_data:/var/lib/rabbitmq # 持久化数据
networks:
comfyai:
ipv4_address: 172.21.0.12
watchtower:
image: registry.cn-shanghai.aliyuncs.com/comfy-ai/watchtower-aliyun:latest
volumes:
@ -142,20 +211,32 @@ services:
networks:
comfyai:
ipv4_address: 172.21.0.9
portainer:
image: registry.cn-shanghai.aliyuncs.com/comfy-ai/portainer-ce:2.21.5
container_name: portainer
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
networks:
comfyai:
ipv4_address: 172.21.0.11
# ports:
# - "${PORTAINER_PORT}:9000"
# - "${PORTAINER_HTTPS_PORT}:9443"
read_only: true
# 日志大小设置,避免日志文件过大
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "10"
# portainer:
# image: registry.cn-shanghai.aliyuncs.com/comfy-ai/portainer-ce:2.21.5
# container_name: portainer
# restart: always
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
# - portainer_data:/data
# networks:
# comfyai:
# ipv4_address: 172.21.0.11
# # 日志大小设置,避免日志文件过大
# logging:
# driver: "json-file"
# options:
# max-size: "100m"
# max-file: "10"
## ports:
## - "${PORTAINER_PORT}:9000"
## - "${PORTAINER_HTTPS_PORT}:9443"
# read_only: true
# 如果需要部署minio取消下方的注释即可
# minio:
# # image: minio/minio
@ -178,6 +259,7 @@ services:
volumes:
mongo_data:
portainer_data:
rabbitmq_data:
networks:
comfyai:
driver: bridge