# 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://ca-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: [ca-opencode] restart: unless-stopped # 이름을 opencode 로 두면 안 됨 — MCP 쓰려고 abap-opencode 네트워크에 붙을 때 그쪽 opencode 와 DNS 가 겹쳐 # ABAP_OPENCODE 백엔드 요청이 반씩 여기로 새버림(2026-09-23 사고: 세션 깜빡임·Session not found) ca-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: