Skip to content

Overview: local vs production

Service Used by Locally In production
PostgreSQL nest-api, workers compose.yml (5432); tests on 5499 a managed or self-hosted PostgreSQL 15+
Redis nest-api (cache, rate limits, queues, realtime), workers compose.yml (6379); tests on 6399 a persistent Redis 7
Object storage nest-api media MinIO, or a real bucket S3 or any S3-compatible store
SMTP nest-api mail a catcher such as Mailpit a transactional mail provider
Google sign-in nest-api auth optional a Google OAuth client
GrowthBook nest-api feature-flags GrowthBook Cloud or self-hosted the same
OpenObserve every template a local container, or off one org per project
Temporal --with temporal the dev server in compose.yml (7233, UI 8233) a Temporal cluster, mTLS
Infisical yarn secrets optional the secret store for every environment

Each service page covers the variables, a local setup, production values and the mistakes that fail silently.

Back ends connect with credentials from .env; front ends only ever hold public values. A VITE_* variable is compiled into JavaScript that every visitor downloads. The only tokens that belong there are write-only ones built to be public (the OpenObserve RUM token).