Skip to content

Environment variables

VariableRequiredDefaultDescription
JWT_SECRETYesSecret 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_KEYNoAnthropic API key for Claude models
OPENAI_API_KEYNoOpenAI API key
AZURE_OPENAI_API_KEYNoAzure OpenAI API key
AZURE_OPENAI_ENDPOINTNoAzure OpenAI endpoint URL
AZURE_OPENAI_DEPLOYMENTNoAzure OpenAI deployment name
OLLAMA_BASE_URLNoOllama server URL (e.g. http://localhost:11434)
OLLAMA_MODELNoOllama 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_HOSTNoSMTP server hostname
SMTP_PORTNo587SMTP server port
SMTP_USERNoSMTP username
SMTP_PASSNoSMTP password
SMTP_FROMNoSender 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