Files
ttstd-infinite-canvas/docker-compose.dev.yml
tongtongstudio cf3a84c3ad
Some checks failed
Publish container images / Quality checks (push) Has been cancelled
Publish container images / Resolve build version (push) Has been cancelled
Publish container images / Build open-ai-canvas-backend (amd64) (push) Has been cancelled
Publish container images / Build open-ai-canvas-backend (arm64) (push) Has been cancelled
Publish container images / Build open-ai-canvas-web (multi) (push) Has been cancelled
Publish container images / Build open-ai-canvas-yingce-agent (multi) (push) Has been cancelled
Publish container images / Publish open-ai-canvas-backend manifest (push) Has been cancelled
Publish container images / Publish open-ai-canvas-web manifest (push) Has been cancelled
Publish container images / Publish open-ai-canvas-yingce-agent manifest (push) Has been cancelled
Publish container images / Publish release assets (push) Has been cancelled
fix(dev): 本地开发编排 - 端口约定对齐 7380/7381
2026-10-14 17:03:42 +08:00

82 lines
2.9 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: open-ai-canvas-dev
services:
backend:
build:
context: .
dockerfile: backend/Dockerfile.dev
args:
GO_IMAGE: ${GO_IMAGE:-golang:1.25-alpine}
GOPROXY: ${GOPROXY:-https://goproxy.cn,direct}
ALPINE_MIRROR: ${ALPINE_MIRROR:-}
working_dir: /workspace/backend
user: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"
environment:
HOME: /tmp
GOCACHE: /tmp/go-build
GOMODCACHE: /tmp/go-mod
CANVAS_BACKEND_ADDR: ":8080"
CANVAS_BACKEND_DATA_DIR: /data
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:7380}
# 服务器访问地址:Agent 看图与生成参考图都靠它签发上游可取到的短时链接。
CANVAS_PUBLIC_BASE_URL: ${CANVAS_PUBLIC_BASE_URL:-}
CANVAS_LOG_LEVEL: ${CANVAS_LOG_LEVEL:-debug}
GIN_MODE: debug
volumes:
- type: bind
source: .
target: /workspace
# 禁止 Compose 静默创建新数据目录,避免开发时误用另一套账号数据。
- type: bind
source: ./.local/project-workbench-debug
target: /data
bind:
create_host_path: false
# 持久化首次下载和 CGO 编译结果,容器重建后继续复用开发缓存。
- type: bind
source: ./.local/cache/go-build
target: /tmp/go-build
bind:
create_host_path: false
- type: bind
source: ./.local/cache/go-mod
target: /tmp/go-mod
bind:
create_host_path: false
ports:
# 本项目宿主机端口为 7381(见 AGENTS.md「本项目附加约定」);容器内保持上游的 8080。
- "127.0.0.1:${CANVAS_BACKEND_HOST_PORT:-7381}:8080"
init: true
web:
image: oven/bun:1.3.13
working_dir: /workspace/web
command: ["sh", "-c", "bun install --frozen-lockfile && bun run dev"]
environment:
VITE_API_PROXY_TARGET: http://backend:8080
VITE_TLDRAW_LICENSE_KEY: ${VITE_TLDRAW_LICENSE_KEY:-}
volumes:
- type: bind
source: .
target: /workspace
- web-node-modules:/workspace/web/node_modules
- web-bun-cache:/root/.bun/install/cache
ports:
# vite dev server 沿用本项目的 7380(web/package.json 的 --port),宿主机映射同一端口。
- "${CANVAS_WEB_HOST_PORT:-7380}:7380"
depends_on:
- backend
init: true
volumes:
web-node-modules:
web-bun-cache: