Docker Compose

Status: Stub — content pending.

Status: Stub — content pending.


title: "Docker Compose Reference" description: "All services, compose profiles, volumes, and networking in the obleth Docker Compose stack."

The Docker Compose stack lives in deploy/docker/. It is the recommended way to run obleth locally or in a staging environment.

Starting the stack

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

Profiles

ProfileWhat it adds
(none)obleth, postgres, redis, clickhouse, control-plane
mockmock-backend (simulated inference server)
edgeHAProxy on port 80
observabilityPrometheus, Grafana, Jaeger

Services

ServiceImagePurpose
oblethghcr.io/obleth-ai/obleth-gatewayMain gateway
postgrespostgres:16Config database
redisredis:7Hot cache + token budgets
clickhouseclickhouse/clickhouse-server:24Usage ledger
control-planeghcr.io/obleth-ai/obleth-control-planeDashboard
mock-backendghcr.io/obleth-ai/obleth-mock-backendSimulated vLLM (mock profile)
haproxyhaproxy:2.9TLS terminator + LB (edge profile)
prometheusprom/prometheus:v2Metrics collection (observability profile)
grafanagrafana/grafana:10Dashboards (observability profile)
jaegerjaegertracing/all-in-one:1Distributed tracing (observability profile)

Port mappings

ServiceContainer portHost port
obleth data plane80808088
obleth admin90909090
obleth metrics90919091
postgres54325432
redis63796379
clickhouse HTTP81238123
clickhouse native90009000
mock-backend80808081
control-plane30003002
haproxy8080
prometheus90909095
grafana30003001
jaeger1668616686

Volumes

VolumeMounted atContents
postgres-data/var/lib/postgresql/dataPostgres data
redis-data/dataRedis AOF/RDB
clickhouse-data/var/lib/clickhouseClickHouse tables

Environment

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

Stopping

docker compose -f deploy/docker/docker-compose.yml down

# Remove volumes (deletes all data)
docker compose -f deploy/docker/docker-compose.yml down -v