Status: Stub — content pending.
Status: Stub — content pending.
The Docker Compose stack lives in deploy/docker/. It is the recommended way to run obleth locally or in a staging environment.
cd obleth-gateway
# Dev mode (all services + mock backend)
docker compose -f deploy/docker/docker-compose.yml --profile mock up -d
# With HAProxy edge
docker compose -f deploy/docker/docker-compose.yml --profile mock --profile edge up -d
# With observability (Prometheus + Grafana + Jaeger)
docker compose -f deploy/docker/docker-compose.yml --profile mock --profile observability up -d
| Profile | What it adds |
|---|---|
| (none) | obleth, postgres, redis, clickhouse, control-plane |
mock | mock-backend (simulated inference server) |
edge | HAProxy on port 80 |
observability | Prometheus, Grafana, Jaeger |
| Service | Image | Purpose |
|---|---|---|
obleth | ghcr.io/obleth-ai/obleth-gateway | Main gateway |
postgres | postgres:16 | Config database |
redis | redis:7 | Hot cache + token budgets |
clickhouse | clickhouse/clickhouse-server:24 | Usage ledger |
control-plane | ghcr.io/obleth-ai/obleth-control-plane | Dashboard |
mock-backend | ghcr.io/obleth-ai/obleth-mock-backend | Simulated vLLM (mock profile) |
haproxy | haproxy:2.9 | TLS terminator + LB (edge profile) |
prometheus | prom/prometheus:v2 | Metrics collection (observability profile) |
grafana | grafana/grafana:10 | Dashboards (observability profile) |
jaeger | jaegertracing/all-in-one:1 | Distributed tracing (observability profile) |
| Service | Container port | Host port |
|---|---|---|
obleth data plane | 8080 | 8088 |
obleth admin | 9090 | 9090 |
obleth metrics | 9091 | 9091 |
postgres | 5432 | 5432 |
redis | 6379 | 6379 |
clickhouse HTTP | 8123 | 8123 |
clickhouse native | 9000 | 9000 |
mock-backend | 8080 | 8081 |
control-plane | 3000 | 3002 |
haproxy | 80 | 80 |
prometheus | 9090 | 9095 |
grafana | 3000 | 3001 |
jaeger | 16686 | 16686 |
| Volume | Mounted at | Contents |
|---|---|---|
postgres-data | /var/lib/postgresql/data | Postgres data |
redis-data | /data | Redis AOF/RDB |
clickhouse-data | /var/lib/clickhouse | ClickHouse tables |
Default env values are in deploy/docker/.env. Override by editing that file or exporting variables before running docker compose up.
Key defaults:
OBLETH_ADMIN_TOKEN=dev-admin-token
OBLETH_GLOBAL_MAX_IN_FLIGHT=64
OBLETH_FAIRSHARE_ALGORITHM=hierarchical
OBLETH_UPSTREAM_BASE_URL=http://mock-backend:8080
POSTGRES_PASSWORD=obleth
REDIS_URL=redis://redis:6379
docker compose -f deploy/docker/docker-compose.yml down
# Remove volumes (deletes all data)
docker compose -f deploy/docker/docker-compose.yml down -v