Skip to main content
Entri is configured with environment variables only. With Docker Compose they go in 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

Server

Auth and sign-up

Sessions last 7 days and are refreshed daily. This is not configurable.

Email

Without a transport, emails (invitations, password resets) are written to the log. Users then cannot reset forgotten passwords themselves.

AI translation

Each organization can store its own OpenAI and Anthropic keys in its settings (encrypted with ENCRYPTION_KEY). The variables below are instance-wide fallbacks, used by every organization that has not set its own key. 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 needs ENCRYPTION_KEY. Follow GitHub App setup to create the App.

Database

Always put the database name in the path of MONGO_URI (.../entri?...). The app uses that database. If the path is empty, the app falls back to MongoDB’s default test database (and logs a warning in production), and migrate refuses to run unless MONGO_DB_NAME is set. MONGO_DB_NAME affects only migrate, so it cannot make the app use a different database.

Docker Compose settings

These are read by docker compose, not by Entri: Compose builds MONGO_URI and REDIS_URI from these unless you set them yourself.

CLI

The nt3 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.