Files
CODE_ASSISTANT/5_django_backend/deploy/docker/docker-compose.yml
T

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: