llm-gateway/docker-compose.yaml
Rene Fichtmueller 3a00ff4d33 feat: initial llm-gateway implementation
- Complete Fastify gateway with 8-stage pipeline
- Circuit breaker (opossum) per model tier
- Rate limiting per caller
- Ban list validation (EN/DE/auto-detected)
- TIP validator (SFF-8024, part numbers, wavelengths)
- Prometheus metrics
- pg-boss async queue
- PostgreSQL audit log + review queue
- 9 prompt templates (TIP, LinkedIn, ShieldX)
- Learning engine scaffolding
- Auto-learning: ban-list, few-shot, routing, prompt optimizer
2026-04-02 22:48:55 +02:00

43 lines
1.1 KiB
YAML

services:
llm-gateway:
build: .
container_name: llm-gateway
ports:
- "3100:3100"
environment:
NODE_ENV: production
PORT: "3100"
DATABASE_URL: "${DATABASE_URL}"
TIP_DATABASE_URL: "postgresql://tip:tip_prod_2026@217.154.82.179:5433/transceiver_db"
OLLAMA_URL: "http://192.168.178.169:11434"
SHIELDX_URL: "${SHIELDX_URL:-}"
GITEA_URL: "http://gitea.context-x.org"
LOG_LEVEL: "${LOG_LEVEL:-info}"
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "-q", "-O-", "http://localhost:3100/health/live"]
interval: 30s
timeout: 10s
retries: 3
networks:
- gateway-net
llm-learning:
build:
context: packages/learning
dockerfile: Dockerfile
container_name: llm-learning
environment:
DATABASE_URL: "${DATABASE_URL}"
GATEWAY_URL: "http://llm-gateway:3100"
restart: unless-stopped
depends_on:
llm-gateway:
condition: service_healthy
networks:
- gateway-net
networks:
gateway-net:
driver: bridge