Skip to content

Configuration

Environment Variables

Copy the example file and fill in your credentials:

cp .env.example .env

Required Variables

Variable Description
ANTHROPIC_API_KEY Anthropic API key
DATABASE_URL Postgres connection string (asyncpg format, must include sslmode=require for staging/production)
WP_BASE_URL WordPress site URL
WP_USERNAME WordPress username
WP_APP_PASSWORD WordPress application password

Optional Variables

Variable Description
ENVIRONMENT local, staging, or production — controls SSL validation
DATABASE_URL_MIGRATIONS Separate connection string for Alembic migrations (DDL privileges). Falls back to DATABASE_URL
SLACK_WEBHOOK_URL Slack webhook for failure alerts
SENTRY_DSN Sentry DSN for error tracking (leave empty to disable)
OPENAI_API_KEY OpenAI key for DALL-E 3 image generation (leave empty to disable)
NCBI_API_KEY PubMed API key (increases rate limit from 3/s to 10/s)
BRAVE_API_KEY Brave Search API key (enables web search during evaluation runs)
S2_API_KEY Semantic Scholar API key (optional, increases rate limits)
R2_ACCOUNT_ID Cloudflare R2 account ID for image storage
R2_ACCESS_KEY_ID R2 access key ID
R2_SECRET_ACCESS_KEY R2 secret access key
R2_BUCKET_NAME R2 bucket name (e.g. naluma-wordpress)
CF_ACCESS_TEAM_DOMAIN Cloudflare Access team domain (dashboard auth)
CF_ACCESS_AUD Cloudflare Access Application Audience tag (dashboard auth)
OBSIDIAN_VAULT_PATH Path to Obsidian vault for research notes
LANGFUSE_PUBLIC_KEY Langfuse public key for LLM observability (leave empty to disable)
LANGFUSE_SECRET_KEY Langfuse secret key
LANGFUSE_HOST Langfuse host URL (default: https://cloud.langfuse.com)

See the full Environment Variables reference for details.