Skip to Content
Deploy & ConfigureEnvironment Variables

Environment Variables

Every auxilia deployment is configured through environment variables. This page is the complete reference — start here to understand what to set, then follow the Cloud Run or VM / Docker host guide for the deployment-specific wiring.

A full example lives in .env.example at the repo root.

Required variables

These must be set for auxilia to start. Missing any of them will fail backend boot.

VariableNotes
DATABASE_URLpostgresql+psycopg://user:pass@host:5432/dbname connection string
REDIS_HOST / REDIS_PORTReachable from the backend (OAuth tokens are cached here)
JWT_SECRET_KEY32+ random characters — used to sign session cookies
SALTSalt for AES-GCM encryption of stored MCP API keys
FRONTEND_URLPublic URL of the web app (used as OAuth redirect base)
BACKEND_URLInternal URL the Next.js proxy uses to reach the backend (web only)
One LLM keySee LLM providers — at least one is required

In production, also set:

VariableValueWhy
COOKIE_SECUREtrueForces session cookies to be HTTPS-only (recommended)

LLM providers

At least one provider key is required. Every configured provider shows up in the model picker — configure multiple to give agent authors a choice.

ProviderEnvironment variableModels
AnthropicANTHROPIC_API_KEYclaude-haiku-4-5, claude-sonnet-4-6, claude-opus-4-6
OpenAIOPENAI_API_KEYgpt-4o-mini
GoogleGOOGLE_API_KEYgemini-3-flash-preview, gemini-3-pro-preview
DeepSeekDEEPSEEK_API_KEYdeepseek-chat, deepseek-reasoner

Anthropic models run with thinking enabled by default; Google models run with include_thoughts=True. Defaults live in app/model_providers/catalog.py.

Authentication

VariableNotes
GOOGLE_CLIENT_IDOAuth client ID for Google sign-in
GOOGLE_CLIENT_SECRETOAuth client secret
GOOGLE_REDIRECT_URIe.g. https://your-host/auth/google/callback
AUTH_GOOGLE_EXCLUSIVEtrue disables email/password signup — Google OAuth only

Leaving these unset keeps email/password signup as the only path. See User Management for the full flow.

Sandbox (optional)

If you’re running OpenSandbox  for agent code execution:

VariableNotes
OPEN_SANDBOX_DOMAINe.g. localhost:8083 or a private DNS name
OPEN_SANDBOX_API_KEYIf your OpenSandbox controller requires one
OPEN_SANDBOX_USE_SERVER_PROXYtrue routes file ops through the OpenSandbox server (recommended)
OPEN_SANDBOX_DEFAULT_IMAGEBase image, e.g. python:3.12-slim
OPEN_SANDBOX_DEFAULT_PACKAGESPre-installed packages, e.g. ["pandas","matplotlib"]
OPEN_SANDBOX_TIMEOUTPer-command timeout (seconds). Default 1800
OPEN_SANDBOX_VOLUME_MOUNTSHost mounts, comma-separated host:sandbox[:ro]

If OPEN_SANDBOX_DOMAIN is missing, the sandbox toggle on agents is silently disabled. Details: Sandbox.

Observability (optional)

VariableNotes
LANGFUSE_PUBLIC_KEYLangfuse project public key
LANGFUSE_SECRET_KEYLangfuse project secret key
LANGFUSE_BASE_URLhttps://cloud.langfuse.com or your self-hosted URL

All three are required to enable Langfuse; missing any of them disables the integration silently. Details: Observability (Langfuse).

Slack (optional)

VariableNotes
SLACK_SIGNING_SECRETFrom Basic Information in your Slack app config
SLACK_BOT_TOKENxoxb-… Bot User OAuth Token

Missing values make the Slack endpoints reject all incoming requests. Details: Slack Integration.

Tuning & debugging

VariableDefaultNotes
LOG_LEVELINFOSet to DEBUG for verbose logs (MCP traces, etc.)
RECURSION_LIMIT100Max LangGraph steps per agent invocation
INVOKE_PROFILINGfalseEmit per-step timing on each agent invocation