Skip to main content

Database service operations

platform v0.9.11verified 2026-05-14

The Database service provides centralized PostgreSQL and Redis for every other service. Postgres is the primary data store; Redis serves as cache, session store, pub/sub bus, and leader-election backend. Data lives on an attached block storage volume at /mnt/data.

Containers

ContainerImagePortPurpose
voiceai-postgrespostgres:17-alpine5432PostgreSQL primary
voiceai-pgbounceredoburu/pgbouncer:v1.25.1-p06432 (in-cluster)Connection pooler (TLS-aware)
voiceai-redisredis:7-alpine6379 plain · 6380 TLS (when enabled)Cache / pub-sub / leader-election
voiceai-otel-collectorotel/opentelemetry-collector-contrib:0.150.1Telemetry collector (also scrapes Postgres + Redis metrics)

PgBouncer fronts Postgres and brokers TLS for the SSL rollout (Leg 1 = app → pgbouncer, Leg 2 = pgbouncer → Postgres).

Data layout

/mnt/data/ # attached volume
├── postgres/ # PostgreSQL data
├── redis/ # Redis RDB
└── logs/postgresql/ # log files

See also