fix(deploy): 우리 서버 CodeAssist 에 SAP MCP 연결 — abap-opencode mcp 컨테이너 네트워크에 붙임(MCP_API_KEY 있으면 자동)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
be4387278f
commit
b06dadebc3
@@ -26,10 +26,12 @@ CORS_ORIGINS=http://tauri.localhost,tauri://localhost,http://localhost:15173
|
||||
STREAM_FIRST_EVENT_TIMEOUT_S=300
|
||||
STREAM_TURN_TIMEOUT_S=600
|
||||
|
||||
# SAP 조회 MCP — 같은 서버의 abap-opencode compose 에 mcp 컨테이너가 있으면 그 주소. 비우면 끔
|
||||
# SAP 조회 MCP — 같은 서버 abap-opencode 의 mcp 컨테이너를 씀. 키는 abap-opencode web/deploy/.env 의 MCP_API_KEY 와 같게.
|
||||
# 키가 있으면 deploy.sh 가 그 네트워크(MCP_NETWORK)에 붙여줌. 비우면 끔
|
||||
MCP_HOST=mcp
|
||||
MCP_PORT=3200
|
||||
MCP_API_KEY=
|
||||
MCP_NETWORK=abap-opencode_default
|
||||
|
||||
# 관측(Phoenix) — deploy/phoenix 로 띄운 주소. 비우면 안 보냄
|
||||
PHOENIX_HOST=http://host.docker.internal:6006 # 같은 서버 Phoenix. 다른 서버면 그 사설 IP
|
||||
|
||||
@@ -30,6 +30,6 @@ AGENTS.md·위키·커스텀 도구가 그대로 먹고, be 가 렌더한 `openc
|
||||
|
||||
- LLM: `.env` 에 `AAF_FABRIX_*` 가 없으면 렌더러가 OpenRouter 템플릿(`opencode/opencode.openrouter.json.tmpl`)을 고름. 고객사는 FabriX 템플릿.
|
||||
- DB: `DB_HOST` 비우면 SQLite(`be_data` 볼륨). 팀 PostgreSQL 쓰려면 DB_* 채움(스키마 `codeassist`).
|
||||
- SAP 조회(MCP): 같은 서버에 abap-opencode compose 가 떠 있으면 그 `mcp` 컨테이너를 쓸 수 있음 — 두 compose 를 같은 네트워크로 묶어야 함(아직 안 함). 비우면 꺼짐.
|
||||
- SAP 조회(MCP): 같은 서버 abap-opencode 의 `mcp` 컨테이너를 씀. `.env` 에 `MCP_API_KEY`(abap-opencode 것과 같은 값) 넣으면 deploy.sh 가 `docker-compose.mcp.yml` 로 opencode 를 그 네트워크에 붙임. 비우면 꺼짐.
|
||||
- 관측: `PHOENIX_HOST=http://host.docker.internal:6006`(같은 서버; 공인 IP 는 컨테이너 안에서 안 닿음) (`deploy/phoenix/docker-compose.yml` 로 띄운 것). 프로젝트 `codeassist`.
|
||||
- 앱(Tauri) 쪽은 `2_frontend/.env.production` 의 `VITE_API_BASE_URL` 을 이 서버로 바꿔 빌드해야 붙음.
|
||||
|
||||
@@ -17,6 +17,8 @@ docker compose version >/dev/null 2>&1 || { echo "docker compose v2 없음"; exi
|
||||
[ -f .env ] || { echo ".env 없음 — cp .env.example .env 후 채워"; exit 1; }
|
||||
set -a; . ./.env; set +a
|
||||
PORT="${BE_PORT:-8080}"; BASE="http://localhost:${PORT}/api/v1"
|
||||
# MCP 키가 있으면 abap-opencode 의 mcp 컨테이너 네트워크에 붙음(docker-compose.mcp.yml)
|
||||
if [ -n "${MCP_API_KEY:-}" ]; then export COMPOSE_FILE="docker-compose.yml:docker-compose.mcp.yml"; fi
|
||||
|
||||
case "$CMD" in
|
||||
stop) docker compose down; echo "종료(볼륨 유지)"; exit 0 ;;
|
||||
@@ -36,4 +38,5 @@ for _ in $(seq 1 60); do curl -fsS -m 3 "$BASE/health" >/dev/null 2>&1 && break;
|
||||
curl -fsS -m 5 "$BASE/health" || { echo "안 떴음 → ./deploy.sh logs"; docker compose ps; exit 1; }
|
||||
echo
|
||||
echo "-- OpenCode 설정(렌더 결과) 모델:"; grep -oE '"model": *"[^"]+"' ../../opencode/opencode.json || true
|
||||
echo "-- SAP MCP: $(grep -oE '"enabled": *[a-z]+' ../../opencode/opencode.json) (true 면 켜짐)"
|
||||
echo "-- 앱 주소: http://$(hostname -I 2>/dev/null | awk '{print $1}'):${PORT}/api/v1"
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
# SAP 조회 MCP 붙이기 — 같은 서버에 떠 있는 abap-opencode 의 mcp 컨테이너를 씀(따로 안 띄움).
|
||||
# opencode 컨테이너를 abap-opencode 네트워크에도 걸어서 http://mcp:3200 이 보이게 함.
|
||||
# deploy.sh 가 .env 에 MCP_API_KEY 가 있으면 자동으로 이 파일을 같이 씀.
|
||||
services:
|
||||
opencode:
|
||||
networks: [default, abapnet]
|
||||
networks:
|
||||
abapnet:
|
||||
external: true
|
||||
name: ${MCP_NETWORK:-abap-opencode_default}
|
||||
Reference in New Issue
Block a user