services: backend: image: open-ai-canvas-backend:local build: context: . dockerfile: backend/Dockerfile args: GOPROXY: ${GOPROXY:-https://proxy.golang.org,direct} environment: CANVAS_BACKEND_ADDR: ":8080" CANVAS_BACKEND_DATA_DIR: /data CANVAS_SHUTDOWN_TIMEOUT: ${CANVAS_SHUTDOWN_TIMEOUT:-10m} CANVAS_DATABASE_DRIVER: ${CANVAS_DATABASE_DRIVER:-sqlite} DATABASE_URL: ${DATABASE_URL:-} REDIS_URL: ${REDIS_URL:-} CANVAS_WORKER_CONCURRENCY: ${CANVAS_WORKER_CONCURRENCY:-3} CANVAS_CHANNEL_CONCURRENCY: ${CANVAS_CHANNEL_CONCURRENCY:-3} CANVAS_REGISTRATION_ENABLED: ${CANVAS_REGISTRATION_ENABLED:-false} CANVAS_ALLOW_PRIVATE_UPSTREAMS: ${CANVAS_ALLOW_PRIVATE_UPSTREAMS:-false} CANVAS_ALLOWED_PRIVATE_UPSTREAM_HOSTS: ${CANVAS_ALLOWED_PRIVATE_UPSTREAM_HOSTS:-} CANVAS_CORS_ORIGINS: ${CANVAS_CORS_ORIGINS:-http://localhost:3000} # 服务器访问地址:Agent 看图与生成参考图都靠它签发上游可取到的短时链接。 CANVAS_PUBLIC_BASE_URL: ${CANVAS_PUBLIC_BASE_URL:-} GIN_MODE: release volumes: - backend-data:/data restart: unless-stopped stop_grace_period: ${CANVAS_SHUTDOWN_TIMEOUT:-10m} web: image: open-ai-canvas-web:local build: context: . dockerfile: Dockerfile ports: - "3000:3000" depends_on: backend: condition: service_healthy restart: unless-stopped volumes: backend-data: