Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
38 lines
1.6 KiB
YAML
38 lines
1.6 KiB
YAML
# CodeAssist 백엔드 — 우리 환경(도커)용. 고객사(도커 없음)는 5_django_backend/deploy.sh.
|
|
# 사용: 이 폴더에서 cp .env.example .env 채우고 ./deploy.sh
|
|
# 밖으로 여는 건 be(:8080 → BE_PORT) 하나. 앱(Tauri)이 http://<서버>:<BE_PORT>/api/v1 로 붙음.
|
|
name: codeassist
|
|
|
|
services:
|
|
be:
|
|
build: { context: ../.., dockerfile: deploy/docker/Dockerfile.be }
|
|
ports:
|
|
- "${BE_PORT:-8080}:8080"
|
|
env_file: .env
|
|
environment:
|
|
OPENCODE_BASE_URL: http://opencode:4096
|
|
OPENCODE_DIRECTORY: /workspace # OpenCode 컨테이너가 보는 workspace 경로 — 세션이 여기 생김
|
|
BACKEND_HOST: be # 렌더된 opencode.json 의 게이트웨이 주소(고객사 모드일 때)
|
|
BACKEND_PORT: "8080"
|
|
MCP_HOST: ${MCP_HOST:-mcp}
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway" # 같은 서버의 Phoenix(:6006) 를 host.docker.internal 로 — 공인 IP 는 컨테이너 안에서 안 닿음(Azure)
|
|
volumes:
|
|
- ../../opencode:/app/opencode # AGENTS.md·.opencode·wiki·렌더 결과(opencode.json)
|
|
- be_data:/app/data # SQLite(DB_HOST 비울 때)·auth secret
|
|
depends_on: [opencode]
|
|
restart: unless-stopped
|
|
|
|
opencode:
|
|
build: { context: ../.., dockerfile: deploy/docker/Dockerfile.opencode }
|
|
environment:
|
|
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY:-}
|
|
volumes:
|
|
- ../../opencode:/workspace
|
|
- oc_data:/root/.local/share/opencode # 세션·메시지 저장
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
be_data:
|
|
oc_data:
|