llmBreakr

Configuration

Every environment variable llmBreakr reads, and what it controls.

llmBreakr is configured entirely through environment variables, loaded from .env at the repo root (Docker) or server/.env (local dev).

Required

VariableDescription
PORTPort the gateway + admin API listen on. Defaults to 4000.
DB_HOSTMySQL host.
DB_PORTMySQL port. Defaults to 3306.
DB_NAMEMySQL database name.
DB_USERMySQL user.
DB_PASSWORDMySQL password.
REDIS_HOSTRedis host, used for rate limiting and caching. Include the port, e.g. localhost:6379.
JWT_SECRETSigning secret for admin session JWTs. Use a long, random value.
CREDENTIAL_ENCRYPTION_KEYEncryption key used at rest for stored provider credentials. Use a long, random value.

Bootstrap admin

VariableDescription
SUPER_ADMIN_EMAILEmail for the first admin account, created on startup.
SUPER_ADMIN_NAMEDisplay name for that account.

Optional

VariableDescription
LOADER_HASHInternal cache-busting hash for provider/model config reloads. Safe to leave unset.

JWT_SECRET and CREDENTIAL_ENCRYPTION_KEY protect admin sessions and provider credentials at rest. Generate them with something like openssl rand -hex 32, and never commit .env to version control.

Provider credentials

OpenAI, Anthropic, and Gemini API keys are not set via environment variables — they're added through the admin dashboard (or admin API) per provider, encrypted at rest with CREDENTIAL_ENCRYPTION_KEY, and scoped to projects through virtual keys. This keeps raw provider keys out of your deployment config entirely.

See Virtual keys for how projects get access to a provider.

On this page