# CodeAssist 백엔드 — 우리 환경(도커)용. 고객사(도커 없음)는 5_django_backend/deploy.sh. # 사용: 이 폴더에서 cp .env.example .env 채우고 ./deploy.sh # 밖으로 여는 건 be(:8080 → BE_PORT) 하나. 앱(Tauri)이 http://<서버>:/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: