stemedb/docker-compose.yml
jordan b3e8a9a058 feat: Multi-application expansion with chaos testing and community UI
Major additions:
- Community Next.js app (port 18187) for browsing claims with API docs
- stemedb-chaos crate: Fault injection, chaos testing, CRDT properties
- Latent ingestion system: Reddit/FDA ingesters with ADK-Go agents
- Disputed claims handling: Manual review workflows and validation
- Aphoria security scanner: New extractors (SQL injection, command
  injection, weak crypto, TLS version), policy-based ignores, UAT reports
- Docker infrastructure: Dockerfile, docker-compose.yml for full stack
- VulnBank demo: Intentionally vulnerable multi-language test corpus

SDK & API enhancements:
- Source registry handlers for tracking data provenance
- Metrics endpoint
- Skeptic filtering improvements

Code quality:
- Split 14 large files (>500 lines) into focused modules
- All files now under 500-line limit per project guidelines

Documentation:
- Chaos testing guide, circuit breakers, observability docs
- Phase 7 UAT documentation updates
- Martin Kleppmann technical writer agent

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 01:24:14 -07:00

66 lines
1.6 KiB
YAML

# StemeDB Docker Compose
#
# Runs the complete stack:
# 1. stemedb-api: Rust backend (port 18180)
# 2. seed: One-shot TypeScript script to populate claims
# 3. community: Next.js frontend (port 18187)
#
# Usage:
# docker compose up # Start all services
# docker compose up -d # Start in background
# docker compose logs -f # Follow logs
# docker compose down -v # Stop and remove volumes
services:
# Rust API backend
stemedb-api:
build:
context: .
dockerfile: Dockerfile
environment:
- STEMEDB_WAL_DIR=/data/wal
- STEMEDB_DB_DIR=/data/db
- STEMEDB_BIND_ADDR=0.0.0.0:18180
- STEMEDB_METER_ENABLED=false
- RUST_LOG=stemedb_api=info
ports:
- "18180:18180"
volumes:
- stemedb-data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:18180/v1/health"]
interval: 5s
timeout: 3s
retries: 10
start_period: 30s
# Seed script - runs once to populate demo data
seed:
build:
context: ./community
dockerfile: Dockerfile
command: ["npx", "tsx", "scripts/seed-claims.ts"]
environment:
- STEMEDB_API_URL=http://stemedb-api:18180
depends_on:
stemedb-api:
condition: service_healthy
restart: "no"
# Next.js frontend
community:
build:
context: ./community
dockerfile: Dockerfile
environment:
- STEMEDB_API_URL=http://stemedb-api:18180
- NEXT_PUBLIC_STEMEDB_API_URL=http://localhost:18180
ports:
- "18187:18187"
depends_on:
seed:
condition: service_completed_successfully
volumes:
stemedb-data: