feat(platform): 开发环境 - 新增 Docker 热更新并完善私网上游指引 (#122)
* feat(platform): 开发环境 - 新增 Docker 热更新开发配置 * docs(platform): 开发环境 - 记录 Fork 分支同步流程 * fix(platform): 开发环境 - 避让端口冲突并持久化构建缓存 * fix(platform): 模型渠道 - 改进私网上游配置指引 * docs(platform): 开发环境 - 本机升级流程仅保留在本地手册 * feat(security): 自定义渠道 - 允许白名单主机使用 HTTP 中转 --------- Co-authored-by: sqy941013 <sqy941013@users.noreply.github.com>
This commit is contained in:
76
docker-compose.dev.yml
Normal file
76
docker-compose.dev.yml
Normal file
@@ -0,0 +1,76 @@
|
||||
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:3000}
|
||||
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:
|
||||
- "127.0.0.1:${CANVAS_BACKEND_HOST_PORT:-8080}: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:
|
||||
- "${CANVAS_WEB_HOST_PORT:-3000}:3000"
|
||||
depends_on:
|
||||
- backend
|
||||
init: true
|
||||
|
||||
volumes:
|
||||
web-node-modules:
|
||||
web-bun-cache:
|
||||
Reference in New Issue
Block a user