Skip to main content
All environment variables are required with no fallback values. The server throws on startup if any are missing.

Server

Required

VariableDescription
JWT_SECRETJWT signing secret. Min 32 chars. Generate with openssl rand -hex 32.
PORTServer listen port (e.g. 3001)
CORS_ORIGINSComma-separated allowed origins (e.g. http://localhost:4322,http://localhost:3001)
DB_HOSTMySQL host (e.g. 127.0.0.1)
DB_PORTMySQL port (e.g. 3308 for Docker)
DB_USERMySQL user
DB_PASSWORDMySQL password
DB_NAMEDatabase name (e.g. supaproxy)
REDIS_HOSTRedis host
REDIS_PORTRedis port (e.g. 6380 for Docker)

Optional

VariableDefaultDescription
NODE_ENVdevelopmentSet to production for secure cookies
DEFAULT_MODEL(empty)Default LLM model for new workspaces
DASHBOARD_URL(empty)Frontend URL for login redirects
SUPAPROXY_LOG_DIR./var/logsDirectory for audit JSONL logs

Azure AD SSO (optional)

VariableDescription
AZURE_AD_TENANT_IDAzure AD tenant ID
AZURE_AD_CLIENT_IDApplication client ID
AZURE_AD_CLIENT_SECRETApplication client secret
AZURE_AD_REDIRECT_URIOAuth redirect URI

Runtime settings

These are configured at runtime via the API (PUT /api/org/settings/:key), not via environment variables:
KeyDescription
ai_api_keyAI provider API key (e.g. Anthropic)
ai_providerAI provider name (default: anthropic)
slack_bot_tokenSlack bot token for Socket Mode
slack_app_tokenSlack app-level token for Socket Mode

Dashboard

VariableDescription
PUBLIC_SUPAPROXY_API_URLAPI URL exposed to client-side React (prefix required)
SUPAPROXY_API_URLAPI URL for server-side Astro middleware
Both must point to the same backend API server.