The hosted service at app.nt3.io is being retired. If your organization has data there, see Migrating from Entri Cloud.
Architecture
All durable data lives in MongoDB. Back up MongoDB, plus the secrets in your configuration (see Security).
Requirements
- Docker Compose
- Kubernetes
- A Linux host with Docker Engine 24+ and the Compose plugin
- A DNS name pointing at the host (for HTTPS)
- Ports 80 and 443 open, if you use the bundled Caddy proxy
Sizing
We do not publish benchmarks. These numbers are starting points, not limits:- The Helm chart requests 250m CPU and 512 MiB of memory for Entri, with a 1 GiB memory limit. The bundled MongoDB requests 512 MiB (1 GiB limit) and the bundled Redis 64 MiB (256 MiB limit).
- For a small team on Docker Compose, a VM with 2 vCPUs and 4 GB of RAM leaves room for Entri, MongoDB, Redis and the operating system. Add memory if you enable Typesense, which keeps its index in RAM.
- MongoDB disk usage grows with the number of keys, languages, and the translation history. Watch it and grow the volume as needed. The chart’s default volume is 8 GiB.
Docker Compose or Kubernetes?
Docker Compose
One VM, everything included: Entri, MongoDB, Redis, and optional Caddy (automatic HTTPS) and Typesense. The quickest path for most teams.
Kubernetes (Helm)
For teams that already run Kubernetes. Works with managed MongoDB and Redis. The chart can also bundle simple single-pod databases.
Security
- The first account bootstraps the instance. On an empty database, the first person to sign up can always create an account, even with
DISABLE_SIGNUP=true. Sign up right after you deploy, or keep the instance unreachable until you have. - Close sign-up after that. Set
DISABLE_SIGNUP=trueso only invited email addresses can create accounts. This covers email and password sign-up and social login.GET /api/v1/configreports the current state assignupEnabled. - Back up
ENCRYPTION_KEY. It encrypts organization AI keys (and cached GitHub installation tokens) at rest. If you lose it or change it, Entri cannot decrypt the stored keys, and every organization has to enter them again. Store it with your other secrets, separately from your database backups. - Keep
BETTER_AUTH_SECRETstable. It signs sessions. Changing it signs everyone out. - Proxy trust. By default (
TRUST_PROXYunset), Entri trustsX-Forwarded-Foronly from loopback, link-local and private-network peers. This covers a proxy in the same Compose network or an in-cluster ingress controller, and stops clients that connect directly from spoofing their IP address. The per-IP rate limiter depends on this. SetTRUST_PROXYonly if the proxy in front of Entri has a public IP. See Server settings. - Instance-wide AI keys are shared.
OPENAI_API_KEYandANTHROPIC_API_KEYact as a fallback for every organization on the instance that has not set its own keys. - Databases are private. The Compose file publishes no host ports for MongoDB or Redis, and both require a password. The Helm chart adds NetworkPolicies for its bundled databases.