deploy/docker/.env. With Helm, non-secret values go under config: and secret values under secrets: (or in your existingSecret). See Kubernetes.
At startup, Entri checks the required variables and exits with one error that lists everything missing. In production (NODE_ENV=production, the image default), it also logs warnings when BETTER_AUTH_URL or APP_HOST is unset or points at localhost, and when ENCRYPTION_KEY is missing or malformed.
Boolean flags are compared case-insensitively. Only the exact value shown (true or false) switches the behavior.
Required
Recommended
Server
Auth and sign-up
Sessions last 7 days and are refreshed daily. This is not configurable.
AI translation
Each organization can store its own OpenAI and Anthropic keys in its settings (encrypted withENCRYPTION_KEY). The variables below are instance-wide fallbacks, used by every organization that has not set its own key.
Search
After you enable a provider, index existing projects once with
POST /api/v1/admin/search/sync/<projectId> (session or API token of the project’s organization). New changes are indexed automatically.
Social login
A provider is enabled only when both its client ID and secret are set. Register an OAuth app with each provider and use these callback URLs:- Google:
https://entri.example.com/api/auth/callback/google - GitHub:
https://entri.example.com/api/auth/callback/github
These are separate from the GitHub App variables below.
GitHub App (translation sync)
The GitHub integration appears in the UI only when all six required variables are set, and it also needsENCRYPTION_KEY. Follow GitHub App setup to create the App.
Database
Docker Compose settings
These are read bydocker compose, not by Entri:
Compose builds
MONGO_URI and REDIS_URI from these unless you set them yourself.
CLI
Thent3 CLI reads these on the machine where it runs:
To point a whole team at your instance, add
api_url: https://entri.example.com to .nt3.yml. See CLI configuration.
Instance endpoints
Public configuration
GET /api/v1/config needs no authentication. The web app uses it to decide what to show:
Health
The health endpoints need no authentication. The OpenAPI explorer is served at
/api/docs.