This guide covers running the optional Core overlay, profiles, and maintenance.
-
Services
- api: uvicorn core.overlay.app:app
- worker: Celery worker (placeholder here; use project worker image in real deployments)
- db: Postgres 15
- redis: queue + caching
- model: local model runtime stub (HTTP)
-
Profiles
- default (CPU): use
core/Dockerfile.model-cpu - gpu (optional): provide a GPU-enabled image and run with
--gpus=all
- default (CPU): use
-
Volumes
- db_data: Postgres data
- Map
/data/uploadsand/data/embeddingsinto persistent volumes if used by backend
-
Environment
- COMPAIR_API_BASE, DATABASE_URL, REDIS_URL, JWT_SECRET, MODEL_RUNTIME_URL
JWT_SECRET is required for device-auth token issuance. Do not leave it unset or at a placeholder value such as CHANGE_ME.
-
Health
/_operator/healthzand/_operator/readyfor API readiness
-
Security
- Bind API to LAN by default; terminate TLS at a reverse proxy (nginx/traefik)
- JWT secret managed via secrets manager
-
Backups
- Regular pg_dump backups of the DB volume
-
Upgrades
- Rolling update via Compose/Swarm/K8s; maintain DB compatibility