Configuration Reference
Complete environment variable reference for Seer configuration.
Quick Start Configuration
For basic usage, you only need:
# Required
OPENAI_API_KEY=sk-...
# Optional (for persistence)
DATABASE_URL=postgresql://user:password@host:port/database
REDIS_URL=redis://localhost:6379/0
Docker development automatically configures DATABASE_URL and REDIS_URL.
Required Configuration
LLM Services
| Variable | Description | How to Get |
|---|---|---|
OPENAI_API_KEY | OpenAI API key for workflow execution and AI assistance | OpenAI Platform |
ANTHROPIC_API_KEY | Alternative to OpenAI for Claude models | Anthropic Console |
At least one LLM API key is required.
Core Services (Docker Auto-Configured)
Database
| Variable | Description | Default |
|---|---|---|
DATABASE_URL | PostgreSQL connection string | Auto-configured in Docker |
Format: postgresql://user:password@host:port/database
Docker: Automatically set to postgresql://postgres:postgres@postgres:5432/seer
Railway: Use the DATABASE_URL provided by Railway Postgres service
Redis
| Variable | Description | Default |
|---|---|---|
REDIS_URL | Redis connection string for task queue | Auto-configured in Docker |
Format: redis://host:port/db
Docker: Automatically set to redis://redis:6379/0
Railway: Use the REDIS_URL provided by Railway Redis service
OAuth Integrations
Google Workspace
| Variable | Description | How to Get |
|---|---|---|
GOOGLE_CLIENT_ID | OAuth client ID for Google integrations | Google Cloud Console |
GOOGLE_CLIENT_SECRET | OAuth client secret | Same as above |
Enables: Gmail, Google Drive, Google Sheets tools
GitHub
| Variable | Description | How to Get |
|---|---|---|
GITHUB_CLIENT_ID | OAuth client ID for GitHub integration | GitHub Developer Settings |
GITHUB_CLIENT_SECRET | OAuth client secret | Same as above |
GITHUB_TOKEN | Personal access token for repo access | GitHub Tokens |
Enables: Repository management, issues, pull requests
Supabase
| Variable | Description | How to Get |
|---|---|---|
SUPABASE_CLIENT_ID | OAuth client ID for Supabase management | Supabase Dashboard |
SUPABASE_CLIENT_SECRET | OAuth client secret | Same as above |
SUPABASE_MANAGEMENT_API_BASE | Management API base URL | Default: https://api.supabase.com |
Enables: Supabase project management, REST API tools
Web Services & APIs
Web Search
| Variable | Description | How to Get |
|---|---|---|
TAVILY_API_KEY | API key for web search capabilities | Tavily |
Tool Search (Optional)
| Variable | Description | How to Get |
|---|---|---|
PINECONE_API_KEY | Pinecone API key for semantic tool search | Pinecone |
PINECONE_INDEX_NAME | Pinecone index name | Create in Pinecone console |
CONTEXT7_API_KEY | Context7 API key for MCP tools | Context7 |
Analytics & Monitoring
PostHog
| Variable | Description | Default |
|---|---|---|
POSTHOG_API_KEY | PostHog project API key | - |
POSTHOG_HOST | PostHog instance URL | - |
POSTHOG_ENABLED | Enable analytics tracking | false |
PostHog URLs:
- Cloud US:
https://app.posthog.com - Cloud EU:
https://eu.posthog.com - Self-hosted: Your Railway/custom URL
Authentication
Clerk (Cloud Deployments)
| Variable | Description |
|---|---|
CLERK_JWKS_URL | Clerk JWKS endpoint for token verification |
CLERK_ISSUER | Clerk issuer URL |
Required for: Cloud deployments with user authentication
Advanced Configuration
Database Management
| Variable | Description | Default |
|---|---|---|
AUTO_APPLY_DATABASE_MIGRATIONS | Run Aerich migrations on startup | true in Railway |
Worker Configuration
See Triggers Documentation for worker-specific configuration.
Tool Indexing
| Variable | Description | Default |
|---|---|---|
TOOL_INDEX_AUTO_GENERATE | Auto-generate tool search index | Enabled |
Trigger Poller
| Variable | Description | Default |
|---|---|---|
TRIGGER_POLLER_ENABLED | Enable automatic trigger polling | Enabled |
Legacy & Evaluation Configuration
The following variables are for evaluation and testing workflows. Most users won't need these.
Evaluation Agent
| Variable | Description | Default |
|---|---|---|
EVAL_N_ROUNDS | Number of eval rounds per version | 2 |
EVAL_N_TEST_CASES | Test cases to generate per round | 1 |
EVAL_N_VERSIONS | Total versions to evaluate | 2 |
EVAL_PASS_THRESHOLD | Minimum score to pass (0.0-1.0) | 0.8 |
EVAL_AGENT_ARCHITECTURE | Architecture: react or reflexion | reflexion |
EVAL_REASONING_EFFORT | Reasoning effort: minimal, medium, high | medium |
Target Agent
| Variable | Description | Default |
|---|---|---|
TARGET_AGENT_PORT | Port for target agent | 2024 |
TARGET_AGENT_SETUP_SCRIPT | Setup script for target agent | pip install -e . |
TARGET_AGENT_COMMAND | Command to run target agent | langgraph dev --host 0.0.0.0 |
TARGET_AGENT_CONTEXT_LEVEL | Context level (0-3) | 0 |
Feature Flags
| Variable | Description | Default |
|---|---|---|
EVAL_AGENT_LOAD_DEFAULT_MCPS | Load default MCP services | true |
EVAL_PLAN_ONLY_MODE | Skip execution, return after plan | false |
EVAL_AGENT_HANDOFF_ENABLED | Enable handoff to eval agent | false |
Other Services
| Variable | Description |
|---|---|
NEO4J_URI | Neo4j graph database URI |
NEO4J_USERNAME | Neo4j username |
NEO4J_PASSWORD | Neo4j password |
ASANA_WORKSPACE_ID | Asana workspace ID |
ASANA_TEAM_GID | Asana team GID |
ASANA_PROJECT_ID | Asana project ID |
Configuration Priority
Environment variables are loaded in this order (highest to lowest priority):
- System environment variables
.envfile in project root- Defaults in
shared/config.py
Viewing Current Configuration
Configuration is loaded from environment variables and .env file in this priority order:
- System environment variables
.envfile in project root- Defaults in
shared/config.py
You can view your active configuration by checking:
- Your
.envfile for local overrides shared/config.pyfor default values and structure- Docker container environment via
docker compose exec langgraph-server env | grep -E "OPENAI|ANTHROPIC|GOOGLE|GITHUB|TAVILY"