Environment Variables
All configuration is via environment variables. Copy .env.example to .env and fill in your values.
Required
| Variable |
Description |
Example |
ANTHROPIC_API_KEY |
Anthropic API key for Claude models |
sk-ant-... |
DATABASE_URL |
Postgres connection string (asyncpg format). Must include sslmode=require for staging/production |
postgresql+asyncpg://user:pass@host/db?sslmode=require |
WP_BASE_URL |
WordPress site base URL |
https://yourdomain.com |
WP_USERNAME |
WordPress username for REST API |
content-pipeline |
WP_APP_PASSWORD |
WordPress application password |
xxxx xxxx xxxx xxxx |
Optional — Infrastructure
| Variable |
Description |
Default |
ENVIRONMENT |
Runtime environment (local, staging, production). Controls SSL validation and other environment-specific behavior |
production |
DATABASE_URL_MIGRATIONS |
Separate connection string for Alembic migrations with DDL privileges. Falls back to DATABASE_URL if not set |
— |
PREFECT_API_URL |
Prefect Cloud workspace API URL |
— |
PREFECT_API_KEY |
Prefect Cloud API key |
— |
SLACK_WEBHOOK_URL |
Slack incoming webhook URL for failure alerts |
— |
SENTRY_DSN |
Sentry DSN for error tracking. Leave empty to disable |
— |
Optional — API Keys
| Variable |
Description |
Default |
OPENAI_API_KEY |
OpenAI key for DALL-E 3 image generation. Leave empty to disable |
— |
NCBI_API_KEY |
NCBI/PubMed API key. Increases rate limit from 3 requests/s to 10 requests/s |
— |
BRAVE_API_KEY |
Brave Search API key. Enables web search during evaluation runs |
— |
Optional — Dashboard
| Variable |
Description |
Default |
DASHBOARD_ADMIN_EMAIL |
Admin email for the initial Streamlit dashboard bootstrap |
admin@example.com |
DASHBOARD_ADMIN_PASSWORD |
Admin password for the initial dashboard bootstrap |
— |
Optional — Research
| Variable |
Description |
Default |
OBSIDIAN_VAULT_PATH |
Absolute path to an Obsidian vault containing research notes. Used by the researcher agent's vault reader tool |
— |