APP_NAME
Display name. Default: DocQStack
.env.example
Prod .env.production.example
Every setting loaded at startup from environment variables. Production guards reject unsafe combinations (SQLite, AI mock, missing Stripe when payments enabled).
No matching variables — clear the filter.
APP_NAMEDisplay name. Default: DocQStack
APP_ENVdevelopment or production. Production enables strict validation.
DEBUGDebug mode. Must be false in production.
SECRET_KEYSession signing key. Min 16 chars; no placeholders in production.
ALLOWED_ORIGINSCORS origins (comma-separated). Default includes localhost:3000.
FRONTEND_URLPublic site URL for email links and Stripe return URLs.
BACKEND_URLAPI base for OAuth callbacks and webhook registration.
API_PREFIXFastAPI mount prefix. Default: /api/v1
MYSQL_*MySQL connection: HOST, PORT, USER, PASSWORD, DATABASE. Charset utf8mb4.
DATABASE_URL_OVERRIDEFull SQLAlchemy URL. SQLite only for tests/dev smoke. Rejected when APP_ENV=production.
REDIS_URLRedis connection for Arq worker queue and /ready health check.
SESSION_COOKIE_NAMEHttpOnly session cookie name. Default: docqstack_session
SESSION_MAX_AGE_SECONDSSession lifetime. Default 14 days.
COOKIE_SECURESecure cookie flag. Must be true in production.
COOKIE_SAMESITESameSite policy. Default: lax
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRETGoogle OAuth credentials. Redirect URI must match provider console.
LINKEDIN_CLIENT_ID / LINKEDIN_CLIENT_SECRETLinkedIn OIDC credentials.
AI_ENABLEDMaster AI switch. Default false — app runs without AI.
OPENAI_API_KEYRequired for OpenAI provider. Never exposed to browser.
AI_MOCK_MODEMock provider for dev. Forbidden when APP_ENV=production.
AI_SYNC_JOBSRun AI jobs inline when Redis unavailable (dev only).
AI_MAX_TOKENS_PER_JOB / AI_DAILY_SPEND_CAP_USDToken limit per job and daily spend cap (0 = no cap).
PAYMENTS_ENABLEDPayments feature gate (also needs DB monetization flag).
STRIPE_*Stripe secret, publishable key, webhook secret. Required in prod when payments enabled.
SMTP_URLSMTP relay URL, e.g. Postmark: smtp://TOKEN:TOKEN@smtp.postmarkapp.com:587
EMAIL_FROMFrom address for outbound mail.
NEWSLETTER_DOUBLE_OPT_INConfirmation email before subscribe. Requires SMTP_URL in production when enabled.
CSRF_ENABLEDCSRF protection on mutating API requests.
RATE_LIMIT_*API rate limiting toggle and requests per minute.
ADMIN_EMERGENCY_LOCKDOWNEmergency admin lockdown mode.
LOG_LEVEL, LOG_JSON, REQUEST_LOG_ENABLEDLogging configuration for API and request tracing.
SOFT_LOGIN_*Soft login prompt thresholds for anonymous readers.
BACKUP_DIRDirectory for MySQL backup scripts output.