Files
2026-06-15 14:22:07 +08:00

2.8 KiB

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

# Confirm settings load without errors:
cd backend && uv run python -c "from app.core.config import settings; print(settings.model_dump_json(indent=2))"

If any Required var is missing, FastAPI raises pydantic_settings.SettingsError on startup — check the message for which field.