Skip to content

Environment variables

VariableRequiredDefaultDescription
JWT_SECRETYes—Secret key for signing JWT tokens. Use a long random string.
PORTNo3000Port the server listens on
DATA_DIRNo./dataDirectory for the SQLite database and encrypted credentials
VariableRequiredDescription
GITHUB_CLIENT_IDNoGitHub OAuth app client ID
GITHUB_CLIENT_SECRETNoGitHub OAuth app client secret
GOOGLE_CLIENT_IDNoGoogle OAuth client ID
GOOGLE_CLIENT_SECRETNoGoogle OAuth client secret
KEYCLOAK_URLNoKeycloak base URL
KEYCLOAK_REALMNoKeycloak realm
KEYCLOAK_CLIENT_IDNoKeycloak client ID
KEYCLOAK_CLIENT_SECRETNoKeycloak client secret
VariableRequiredDefaultDescription
ANTHROPIC_API_KEYNo—Anthropic API key for Claude models
ANTHROPIC_MODELNoclaude-sonnet-4-20250514Anthropic model name
MISTRAL_API_KEYNo—Mistral API key (used through Mistral’s OpenAI-compatible API)
MISTRAL_MODELNomistral-large-latestMistral model name
OPENAI_API_KEYNo—OpenAI API key
OPENAI_MODELNogpt-4oOpenAI model name
AZURE_OPENAI_API_KEYNo—Azure OpenAI API key
AZURE_OPENAI_ENDPOINTNo—Azure OpenAI endpoint URL
AZURE_OPENAI_DEPLOYMENTNo—Azure OpenAI deployment name
OLLAMA_BASE_URLNo—Ollama server URL (e.g. http://localhost:11434)
OLLAMA_MODELNo—Ollama model name (e.g. codestral, llama3.1)

Required only if you want the “Forgot password?” feature. Without SMTP, users can only change their password from their profile menu (when logged in).

VariableRequiredDefaultDescription
SMTP_HOSTNo—SMTP server hostname
SMTP_PORTNo587SMTP server port
SMTP_USERNo—SMTP username
SMTP_PASSNo—SMTP password
SMTP_FROMNo—Sender email address (e.g. noreply@your-domain.com)

Example with Gmail:

SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
SMTP_FROM=your-email@gmail.com