Environment variables
Every env var Proliferate reads.
Environment variables configure the Proliferate server. If you're using Proliferate Cloud, none of this applies to you: use the app settings covered elsewhere in this section instead.
The desktop app itself takes no environment variables for normal use. It
reads one small config file, ~/.proliferate/config.json, to know which
server to connect to. See
Connect the desktop app.
Use this page when you're running a self-hosted Proliferate server and need to know which variables affect startup, sign-in, the model gateway, or cloud sandboxes. The full reference with every variable, its default, and whether it's required lives at Deployment: Env vars. This page is the map; that page is the dictionary.
Categories
| Category | Examples | Covered in |
|---|---|---|
| Core & telemetry | SITE_ADDRESS, API_BASE_URL, PROLIFERATE_TELEMETRY_MODE | Env vars: Core |
| Sign-in | PASSWORD_AUTH_ENABLED, GITHUB_OAUTH_CLIENT_ID, PROLIFERATE_SSO_ENABLED | Env vars: Sign-in |
| Access control | ADMIN_EMAILS, ALLOWED_EMAIL_DOMAINS, SINGLE_ORG_MODE | Env vars: Single-org mode |
| Secrets, generated on first boot | JWT_SECRET, CLOUD_SECRET_KEY, POSTGRES_PASSWORD | Env vars: The required minimum |
| Cloud sandboxes add-on | E2B_API_KEY, GITHUB_APP_ID, RUNTIME_BINARY_URL | Cloud sandboxes |
| Agent LLM gateway (LiteLLM) | AGENT_GATEWAY_ENABLED, AGENT_GATEWAY_LITELLM_BASE_URL, AGENT_GATEWAY_LITELLM_MASTER_KEY | Model gateway |
| Telemetry opt-out | PROLIFERATE_ANONYMOUS_TELEMETRY_DISABLED | Telemetry & privacy |
Everything else in the release template (transactional email, cloud MCP connectors, observability) ships at safe defaults and rarely needs to change; see the "Everything else" section of the full reference.
Where configuration actually lives
All of it is one file: .env.static in your deploy bundle. bootstrap.sh
reads it, fills in any missing generated secrets, and derives the
.env.runtime file the containers load. You always edit .env.static and
rerun ./bootstrap.sh or ./update.sh, never .env.runtime directly.
The server ignores env vars it doesn't recognize. A typo in .env.static
is silently ignored rather than raised as an error, so check the reference
page for the exact name before assuming a setting took effect.