# 火宝画布 Docker 一体化部署:应用 + Watchtower(自动拉新镜像重建容器) # # 使用: # 1. 复制 .env.example 为 .env 并修改 WATCHTOWER_TOKEN(两端必须一致;不用自动更新可删掉 watchtower 服务) # 2. docker compose up -d # 3. 访问 http://localhost:8080 # # 数据持久化在命名卷 canvas-data(SQLite 画布 / Key 镜像 / 运行队列 / 生成的结果文件)。 services: app: image: huobao/huobao-canvas:latest build: context: . args: # 构建时注入版本号(发布镜像时务必指定,如 HUOBAO_VERSION=1.2.0) HUOBAO_VERSION: ${HUOBAO_VERSION:-dev} ports: - "8080:16812" environment: # 推理上游:默认 Huobao 公共 API,可改为任意 OpenAI 兼容网关(设置页仍可按用户覆盖) UPSTREAM: ${UPSTREAM:-https://api.firemux.com} # 浏览器侧请求基地址:默认空串(同源,由镜像内服务端直出/反代) API_BASE_URL: ${API_BASE_URL:-} volumes: - canvas-data:/app/data labels: # Watchtower --label-enable:只更新显式标记的容器 com.centurylinklabs.watchtower.enable: "true" restart: unless-stopped watchtower: image: containrrr/watchtower:latest command: > --http-api-update --http-api-token ${WATCHTOWER_TOKEN:-please-change-me} --label-enable --cleanup --rolling-restart --interval 86400 volumes: - /var/run/docker.sock:/var/run/docker.sock restart: unless-stopped volumes: canvas-data: