feat(comfyAI-web-init): 新增comfyAI-web 初始化容器,实现支持开启 CDN 功能,支持将前端静态资源上传至OSS中,每次在线更新的时候会触发该容器运行上传静态资源
This commit is contained in:
parent
e79d74740f
commit
43f9bb5703
71
.env.comfyAI-web-init.sample
Normal file
71
.env.comfyAI-web-init.sample
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# ComfyAI Web 静态资源 CDN 初始化配置
|
||||||
|
# 用于 comfyAI-web-init 容器:构建后上传前端静态资源到 OSS/CDN
|
||||||
|
# 部署时请根据实际使用的 OSS 服务商填写对应配置
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# 基础开关与路径
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# 是否启用静态资源 CDN 加速
|
||||||
|
# true: 构建完成后将静态资源上传至 OSS,前端通过 CDN 地址加载
|
||||||
|
# false: 不启用,静态资源随应用一起部署(不推荐生产环境)
|
||||||
|
STATIC_CDN_ENABLED=true
|
||||||
|
|
||||||
|
# 前端静态资源在 OSS 中的根目录(桶内路径前缀)
|
||||||
|
# 例如: static / frontend-assets
|
||||||
|
# 与 STATIC_CDN_BASE_URL 末尾路径保持一致,用于上传时的目录划分
|
||||||
|
STATIC_CDN_ROOT_PATH=static
|
||||||
|
|
||||||
|
# 静态资源的完整访问基础 URL(不含末尾斜杠)
|
||||||
|
# 用户访问前端时加载 JS/CSS/图片的根地址
|
||||||
|
# 示例: https://cdn.example.com/static 或 http://minio.example.com:9000/bucket/frontend-assets
|
||||||
|
STATIC_CDN_BASE_URL=https://cdn.example.com/static
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# OSS 服务商与连接配置
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# OSS 服务商类型(小写)
|
||||||
|
# 可选: aliyun | tencent | minio | qiniu | s3Compatible
|
||||||
|
# aliyun=阿里云 OSS, tencent=腾讯云 COS, minio=MinIO, qiniu=七牛云, s3Compatible=兼容 S3 的存储
|
||||||
|
STATIC_CDN_OSS_PROVIDER=aliyun
|
||||||
|
|
||||||
|
# OSS 服务端点(Endpoint)
|
||||||
|
# 阿里云: oss-cn-shanghai.aliyuncs.com
|
||||||
|
# 腾讯云: cos.ap-guangzhou.myqcloud.com
|
||||||
|
# MinIO: minio.example.com 或 宿主机访问容器时用 host.docker.internal
|
||||||
|
# 七牛: 无需填写 endpoint,使用 region
|
||||||
|
STATIC_CDN_OSS_ENDPOINT=oss-cn-shanghai.aliyuncs.com
|
||||||
|
|
||||||
|
# OSS 存储桶名称(Bucket)
|
||||||
|
# 需提前在对应云控制台或 MinIO 中创建好
|
||||||
|
STATIC_CDN_OSS_BUCKET=your_bucket
|
||||||
|
|
||||||
|
# OSS Access Key ID(访问密钥 ID)
|
||||||
|
STATIC_CDN_OSS_ACCESS_KEY=your_access_key_id
|
||||||
|
|
||||||
|
# OSS Secret Access Key(访问密钥 Secret)
|
||||||
|
# 请勿提交到版本库,生产环境建议使用密钥管理服务
|
||||||
|
STATIC_CDN_OSS_SECRET_KEY=your_secret_access_key
|
||||||
|
|
||||||
|
# OSS 区域(Region),部分服务商必填
|
||||||
|
# 阿里云: oss-cn-shanghai
|
||||||
|
# 腾讯云: ap-guangzhou
|
||||||
|
# MinIO/自建: 可留空或填 us-east-1
|
||||||
|
# 七牛: 如 z0(华东)
|
||||||
|
STATIC_CDN_OSS_REGION=oss-cn-shanghai
|
||||||
|
|
||||||
|
# 自定义域名(可选)
|
||||||
|
# 若通过自有域名访问 OSS(如 cdn.example.com),在此填写;否则留空,将使用 endpoint + bucket 生成地址
|
||||||
|
STATIC_CDN_OSS_DOMAIN=
|
||||||
|
|
||||||
|
# OSS 服务端口(可选)
|
||||||
|
# 非标准端口时填写,如 MinIO 默认 9000;标准 80/443 可留空
|
||||||
|
STATIC_CDN_OSS_PORT=
|
||||||
|
|
||||||
|
# 连接 OSS 时是否使用 HTTPS
|
||||||
|
# true: 使用 https(生产推荐)
|
||||||
|
# false: 使用 http(本地 MinIO 调试时可设为 false)
|
||||||
|
STATIC_CDN_OSS_USE_SSL=true
|
||||||
@ -2,6 +2,31 @@
|
|||||||
# (各项参数均有详细的说明,理论情况下保持默认即可运行)
|
# (各项参数均有详细的说明,理论情况下保持默认即可运行)
|
||||||
#version: '3'
|
#version: '3'
|
||||||
services:
|
services:
|
||||||
|
comfyAI-web-init:
|
||||||
|
container_name: comfyAI-web-init
|
||||||
|
image: registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai:${VERSION}
|
||||||
|
labels:
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
|
entrypoint: [ "sh", "-c", "node .output/scripts/static-upload-init.mjs && touch /tmp/init-done && exec sleep infinity" ]
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "test", "-f", "/tmp/init-done" ]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 60
|
||||||
|
start_period: 120s
|
||||||
|
networks:
|
||||||
|
comfyai:
|
||||||
|
ipv4_address: 172.21.0.15
|
||||||
|
volumes:
|
||||||
|
- ./data/cdn-init:/tmp/cdn-init
|
||||||
|
env_file:
|
||||||
|
- .env.comfyAI-web-init
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "50m"
|
||||||
|
max-file: "5"
|
||||||
comfyAI-web:
|
comfyAI-web:
|
||||||
container_name: comfyAI-web
|
container_name: comfyAI-web
|
||||||
#更新修改冒号后面的版本号
|
#更新修改冒号后面的版本号
|
||||||
@ -15,11 +40,15 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
# 这一行是关键。它将一个名为 './data/forend/.pm2' 的持久化卷挂载到容器内的 /app/.pm2 目录
|
# 这一行是关键。它将一个名为 './data/forend/.pm2' 的持久化卷挂载到容器内的 /app/.pm2 目录
|
||||||
- ./data/forend/.pm2:/app/.pm2
|
- ./data/forend/.pm2:/app/.pm2
|
||||||
|
- ./data/cdn-init:/tmp/cdn-init:ro
|
||||||
networks:
|
networks:
|
||||||
comfyai:
|
comfyai:
|
||||||
ipv4_address: 172.21.0.8
|
ipv4_address: 172.21.0.8
|
||||||
depends_on:
|
depends_on:
|
||||||
- comfy-server
|
comfy-server:
|
||||||
|
condition: service_started
|
||||||
|
comfyAI-web-init:
|
||||||
|
condition: service_healthy
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
# 默认服务器地址,本地不需要更改,云服务需要修改为云端IP,并放行对应端口
|
# 默认服务器地址,本地不需要更改,云服务需要修改为云端IP,并放行对应端口
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user