gomcp/docker-compose.yml

51 lines
1.9 KiB
YAML
Raw Permalink Normal View History

# ═══════════════════════════════════════════════════════
# SENTINEL SOC — Docker Compose Stack
# ═══════════════════════════════════════════════════════
# Usage:
# docker compose up -d # start all services
# docker compose logs -f soc # follow SOC logs
# docker compose down # stop everything
# ═══════════════════════════════════════════════════════
services:
# ── SOC API Server ──────────────────────────────────
soc:
build:
context: .
dockerfile: Dockerfile.soc
image: sentinel-soc:latest
container_name: sentinel-soc
ports:
- "9100:9100"
volumes:
- soc-data:/data
environment:
SOC_DB_PATH: /data/soc.db
SOC_PORT: "9100"
SOC_LOG_FORMAT: json
SOC_LOG_LEVEL: info
# OTEL_EXPORTER_OTLP_ENDPOINT: jaeger:4317 # Uncomment for tracing
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:9100/healthz"]
interval: 15s
timeout: 3s
start_period: 5s
retries: 3
# ── Jaeger (optional — tracing UI) ──────────────────
# Uncomment to enable distributed tracing visualization.
# jaeger:
# image: jaegertracing/jaeger:2.5
# container_name: sentinel-jaeger
# ports:
# - "16686:16686" # Jaeger UI
# - "4317:4317" # OTLP gRPC
# environment:
# COLLECTOR_OTLP_ENABLED: "true"
# restart: unless-stopped
volumes:
soc-data:
driver: local