Files
selfheal-lab-gitops/vm/ai-env/compose.yaml
T
seon d7ecd59b4c chore: ai/harness images 53ff243 (per-run model, usage, Claude provider) and the Anthropic key file
ai-env·harness 이미지를 53ff243 로 올린다. apply.sh 가 Secret Manager 의
selfheal-anthropic-api-key 를 받아 /run/secrets/anthropic-api-key 로 두고 compose 가
ANTHROPIC_KEY_FILE 로 넘긴다. 값이 없으면 기존처럼 저하 모드로 기동한다.
2026-10-14 23:21:50 +09:00

52 lines
2.0 KiB
YAML

# AI VM (10.20.0.12), experiment design 6.1: agent 8080 (/diagnose for the harness), rag-db (pgvector, internal),
# hitl 8081 (Discord gateway bot; /post and /escalate for the agent). Images: selfheal-lab-apps/ai (Cloud Build).
services:
agent:
image: asia-northeast1-docker.pkg.dev/cms-d-414903/selfheal-public/ai-agent:${AI_TAG}
container_name: agent
restart: always
env_file: /opt/selfheal/ai.env
environment:
RAG_DSN: "postgres://ai:${RAG_DB_PASSWORD}@rag-db:5432/ai?sslmode=disable"
HITL_URL: http://hitl:8081
OPENAI_KEY_FILE: /run/secrets/openai-api-key
ANTHROPIC_KEY_FILE: /run/secrets/anthropic-api-key
JEV_KEY_FILE: /run/secrets/typesafe-api-key
K8S_TOKEN_FILE: /run/secrets/k8s-token
K8S_CA_FILE: /run/secrets/k8s-ca.crt
PROMPT_DIR: /etc/ai/prompts
RUNBOOK_DIR: /etc/ai/runbooks
volumes:
- /opt/selfheal/ai/secrets:/run/secrets:ro
- ./prompts:/etc/ai/prompts:ro
- ./runbooks:/etc/ai/runbooks:ro
ports:
- "8080:8080"
depends_on: [rag-db]
hitl:
image: asia-northeast1-docker.pkg.dev/cms-d-414903/selfheal-public/ai-hitl:${AI_TAG}
container_name: hitl
restart: always
env_file: /opt/selfheal/ai.env
environment:
RAG_DSN: "postgres://ai:${RAG_DB_PASSWORD}@rag-db:5432/ai?sslmode=disable"
DISCORD_TOKEN_FILE: /run/secrets/discord-bot-token
volumes:
- /opt/selfheal/ai/secrets:/run/secrets:ro
ports:
- "127.0.0.1:8081:8081" # agent reaches hitl on the compose network; host binding only for the local selfcheck
depends_on: [rag-db]
rag-db:
# pgvector 0.8.7 on PostgreSQL 16 (Docker Hub tag checked 2026-10-08); HNSW index up to 2000 dimensions (design 6.4)
image: pgvector/pgvector:0.8.7-pg16
container_name: rag-db
restart: always
environment:
POSTGRES_USER: ai
POSTGRES_PASSWORD: "${RAG_DB_PASSWORD}"
POSTGRES_DB: ai
volumes:
- rag-data:/var/lib/postgresql/data
volumes:
rag-data: {}