.env.example as the source of truth. Store production values in your deployment secret manager or a permission-restricted .env file.
Application and database
Branding
Set these on the admin. Each one wins over the name and logo that the deployment’s first owner chooses during onboarding, so leave them empty to let that owner choose. Give them to the admin build as well, as Docker build arguments with the same names, so the prerendered sign-in pages show them without first asking the server.
The dashboard’s links to pages outside it come from five more variables. Next.js writes them into the admin build, so pass them as Docker build arguments with the same names, and rebuild after changing one. Leave one unset or empty to link to LobbyStack’s page.
The SMS HELP reply opens with the app name. Emails, the API, and other text messages still say LobbyStack.
Internal services
Voice calls
OpenAI’s GPT-Live model answers browser calls and phone calls. Phone calls reach it through your Twilio SIP trunk. The admin starts each call and the worker runs it.Redis and file storage
Local storage fits a single-host deployment. Use S3 when the admin and worker run on different hosts or when you need storage managed outside the Docker host.
Public API and webhooks
Webhook deliveries refuse private, loopback, link-local and cloud metadata addresses on every deployment, including self-hosted ones. Point endpoints at a public HTTPS URL. Plain
http:// URLs work only when NODE_ENV=development.
Observability
An empty OTLP endpoint does not disable container stdout logs, application health endpoints, direct product analytics, or direct error reporting.