~/manifest/.env. For docker run, pass them with -e. For non-Docker installs, export them in the shell before launching the backend.
This page is for self-hosted instances only. On Manifest
Cloud there is no server to configure and no
.env to edit — everything you can change lives in the dashboard.Core
Network & security
Database
LLM proxy
How Manifest talks to upstream providers.Request recordings
Storage and retention for request logs. The bundled Docker setup already sets the filesystem path and mounts a volume for it, so a default install needs none of these.Autofix
Autofix works with zero configuration;AUTOFIX_GLOBAL_ENABLED=false is the kill switch.
Without an email provider, signup verification is waived (users are created as unverified-but-usable) and password reset silently no-ops. Hard-limit blocks still work; alerts just don’t email.
Legacy Mailgun-only
Older deployments used these. Kept for backward compatibility; new installs should useEMAIL_* instead.
OAuth logins
Each provider activates automatically when both*_CLIENT_ID and *_CLIENT_SECRET are set. Configure the callback URL in the provider’s console as ${BETTER_AUTH_URL}/api/auth/callback/<provider>.
Subscription OAuth (ChatGPT, Claude, MiniMax) uses Manifest-side client IDs by default. Override only if you’ve registered your own app:
Telemetry
Error monitoring
Sentry is opt-in and stays off unless you give it a DSN.Operations
Postgres bundled volume
When you run the bundled compose file, Manifest brings up its own Postgres container. To use a stronger password than the default, set both of these. They must agree, and special characters in the password must be percent-encoded inDATABASE_URL:
Special-char encoding:
@ → %40, : → %3A, / → %2F.