Environment Variables Configuration reference for SteelEngine
Variable Description DATABASE_URLPostgreSQL connection string BETTER_AUTH_SECRETAuth secret (32 hex chars): openssl rand -hex 32 BETTER_AUTH_URLYour app URL ENCRYPTION_KEYEncryption key (32 hex chars): openssl rand -hex 32 INTERNAL_API_SECRETInternal API secret (32 hex chars): openssl rand -hex 32 TEMPORAL_WORKER_BROKER_SECRETSeparate 32+ byte secret used only between web and the Temporal Worker credential broker NEXT_PUBLIC_APP_URLPublic app URL NEXT_PUBLIC_SOCKET_URLWebSocket URL (default: http://localhost:3002)
Variable Provider OPENAI_API_KEYOpenAI ANTHROPIC_API_KEY_1Anthropic Claude GEMINI_API_KEY_1Google Gemini MISTRAL_API_KEYMistral OLLAMA_URLOllama (default: http://localhost:11434)
For load balancing, add multiple keys with _1, _2, _3 suffixes (e.g., OPENAI_API_KEY_1, OPENAI_API_KEY_2). Works with OpenAI, Anthropic, and Gemini.
In Docker, use OLLAMA_URL=http://host.docker.internal:11434 for host-machine Ollama.
Variable Description AZURE_OPENAI_API_KEYAzure OpenAI API key AZURE_OPENAI_ENDPOINTAzure OpenAI endpoint URL AZURE_OPENAI_API_VERSIONAPI version (e.g., 2024-02-15-preview)
Variable Description VLLM_BASE_URLvLLM server URL (e.g., http://localhost:8000/v1) VLLM_API_KEYOptional bearer token for vLLM
Variable Description GOOGLE_CLIENT_IDGoogle OAuth client ID GOOGLE_CLIENT_SECRETGoogle OAuth client secret GITHUB_CLIENT_IDGitHub OAuth client ID GITHUB_CLIENT_SECRETGitHub OAuth client secret
These server-side variables configure the deployment-wide GitHub App used by Workflow Source Control . They are separate from the personal GitHub OAuth variables above.
Variable Description GITHUB_APP_IDSource Control GitHub App identifier GITHUB_APP_PRIVATE_KEYGitHub App PEM private key; escaped \n newlines are supported GITHUB_APP_WEBHOOK_SECRETGitHub webhook signing secret (minimum 16 characters)
Hosted customers do not set these variables. SteelEngine manages the platform GitHub App; organization admins only install it and choose repository access.
Variable Description API_ENCRYPTION_KEYEncrypts stored API keys (32 hex chars): openssl rand -hex 32 COPILOT_API_KEYAPI key for the Chat assistant backend (variable keeps its legacy name) ADMIN_API_KEYAdmin API key for GitOps operations RESEND_API_KEYEmail service for notifications ALLOWED_LOGIN_DOMAINSRestrict signups to domains (comma-separated) ALLOWED_LOGIN_EMAILSRestrict signups to specific emails (comma-separated) DISABLE_REGISTRATIONSet to true to disable new user signups
DATABASE_URL = postgresql://postgres:postgres@db:5432/steelengine
BETTER_AUTH_SECRET =< openssl rand -hex 3 2>
BETTER_AUTH_URL = https://steelengine.yourdomain.com
ENCRYPTION_KEY =< openssl rand -hex 3 2>
INTERNAL_API_SECRET =< openssl rand -hex 3 2>
TEMPORAL_WORKER_BROKER_SECRET =< a different openssl rand -hex 32 valu e >
NEXT_PUBLIC_APP_URL = https://steelengine.yourdomain.com
NEXT_PUBLIC_SOCKET_URL = https://steelengine.yourdomain.com
OPENAI_API_KEY = sk-...
See apps/web/.env.example for all options.