Environment variables
Reference for agent_delta runtime configuration. The
authoritative source is backend/.env.example — this doc explains what each
group is for and which are required vs optional.
Quick start: copy backend/.env.example to backend/.env and fill in the
blanks marked Required. Defaults are sensible for local development.
Project
| Variable |
Required |
Default |
Description |
PROJECT_NAME |
optional |
agent_delta |
Used in logs, OpenAPI title, email templates |
DEBUG |
optional |
true |
When true, FastAPI returns full tracebacks |
ENVIRONMENT |
optional |
local |
Free-form tag: local / staging / production |
TIMEZONE |
optional |
UTC |
IANA TZ name (e.g. Europe/Warsaw) |
BACKEND_URL |
optional |
http://localhost:8000 |
Used by frontend BFF + email link generation |
FRONTEND_URL |
optional |
http://localhost:3000 |
Used by password-reset / magic-link emails |
Auth & secrets
| Variable |
Required |
Default |
Description |
SECRET_KEY |
required in prod |
(generated) |
JWT signing key. Rotating invalidates all tokens |
API_KEY |
required in prod |
(generated) |
Static admin/service-to-service key for X-API-Key header |
ACCESS_TOKEN_EXPIRE_MINUTES |
optional |
30 |
JWT access token lifetime |
REFRESH_TOKEN_EXPIRE_MINUTES |
optional |
10080 |
JWT refresh token lifetime (7 days) |
Database
| Variable |
Required |
Default |
Description |
DATABASE_URL |
required |
postgresql+asyncpg://... |
Full async connection string |
DB_POOL_SIZE |
optional |
5 |
Number of long-lived connections |
DB_MAX_OVERFLOW |
optional |
10 |
Burst capacity above pool size |
LLM / AI
| Variable |
Required |
Default |
Description |
OPENAI_API_KEY |
required |
— |
From platform.openai.com |
AI_MODEL |
optional |
gpt-5.5 |
Default model used by agent (provider-specific) |
LOGFIRE_TOKEN |
optional |
— |
When set, ships traces to Logfire (logfire.pydantic.dev) |
RAG (qdrant)
| Variable |
Required |
Default |
Description |
QDRANT_URL |
required |
http://localhost:6333 |
Qdrant REST endpoint |
QDRANT_API_KEY |
optional |
— |
Auth (cloud Qdrant) |
Redis
| Variable |
Required |
Default |
Description |
REDIS_URL |
required |
redis://localhost:6379/0 |
Used by cache, rate-limiter, session store |
Validation
If any Required var is missing, FastAPI raises pydantic_settings.SettingsError on startup — check the message for which field.