> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getcore.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Environment Variables

> Environment variables for CORE self-hosting

Environment variables for the CORE webapp container.

| Name                                | Required    | Default                                                              | Description                                                                                                      |
| :---------------------------------- | :---------- | :------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |
| **Version**                         |             |                                                                      |                                                                                                                  |
| `VERSION`                           | No          | 0.1.12                                                               | CORE version identifier                                                                                          |
| **Secrets**                         |             |                                                                      |                                                                                                                  |
| `SESSION_SECRET`                    | Yes         | none                                                                 | Session encryption secret. Run: `openssl rand -hex 16`                                                           |
| `MAGIC_LINK_SECRET`                 | Yes         | none                                                                 | Magic link encryption secret. Run: `openssl rand -hex 16`                                                        |
| `ENCRYPTION_KEY`                    | Yes         | none                                                                 | Data encryption key. Run: `openssl rand -hex 16`                                                                 |
| **Application & Domains**           |             |                                                                      |                                                                                                                  |
| `REMIX_APP_PORT`                    | No          | 3033                                                                 | Application port number                                                                                          |
| `APP_ENV`                           | No          | production                                                           | Application environment (development, production)                                                                |
| `NODE_ENV`                          | No          | production                                                           | Node.js environment                                                                                              |
| `APP_ORIGIN`                        | Yes         | [http://localhost:3033](http://localhost:3033)                       | Application origin URL                                                                                           |
| `LOGIN_ORIGIN`                      | Yes         | [http://localhost:3033](http://localhost:3033)                       | Login origin URL (usually same as APP\_ORIGIN)                                                                   |
| `API_BASE_URL`                      | No          | `APP_ORIGIN`                                                         | API base URL                                                                                                     |
| **Database - PostgreSQL**           |             |                                                                      |                                                                                                                  |
| `DB_HOST`                           | No          | localhost                                                            | Database host (use container name for Docker)                                                                    |
| `DB_PORT`                           | No          | 5432                                                                 | Database port                                                                                                    |
| `POSTGRES_USER`                     | Yes         | docker                                                               | PostgreSQL username                                                                                              |
| `POSTGRES_PASSWORD`                 | Yes         | docker                                                               | PostgreSQL password                                                                                              |
| `POSTGRES_DB`                       | Yes         | core                                                                 | PostgreSQL database name                                                                                         |
| `DATABASE_URL`                      | Yes         | postgresql://docker:docker\@postgres:5432/core?schema=core           | PostgreSQL connection string                                                                                     |
| `DIRECT_URL`                        | Yes         | `DATABASE_URL`                                                       | Direct DB connection string for migrations                                                                       |
| **Database - Neo4j (Memory Graph)** |             |                                                                      |                                                                                                                  |
| `NEO4J_URI`                         | Yes         | bolt://neo4j:7687                                                    | Neo4j connection URI                                                                                             |
| `NEO4J_USERNAME`                    | Yes         | neo4j                                                                | Neo4j username                                                                                                   |
| `NEO4J_PASSWORD`                    | Yes         | none                                                                 | Neo4j password. Run: `openssl rand -hex 16`                                                                      |
| `NEO4J_AUTH`                        | Yes         | neo4j/password                                                       | Neo4j authentication (username/password format)                                                                  |
| **Redis**                           |             |                                                                      |                                                                                                                  |
| `REDIS_HOST`                        | Yes         | redis                                                                | Redis host (use container name for Docker)                                                                       |
| `REDIS_PORT`                        | Yes         | 6379                                                                 | Redis port                                                                                                       |
| `REDIS_TLS_DISABLED`                | No          | true                                                                 | Disable Redis TLS for local development                                                                          |
| **Authentication**                  |             |                                                                      |                                                                                                                  |
| `ENABLE_EMAIL_LOGIN`                | No          | true                                                                 | Enable email-based authentication                                                                                |
| `AUTH_GOOGLE_CLIENT_ID`             | No          | none                                                                 | Google OAuth client ID                                                                                           |
| `AUTH_GOOGLE_CLIENT_SECRET`         | No          | none                                                                 | Google OAuth client secret                                                                                       |
| **AI Providers**                    |             |                                                                      |                                                                                                                  |
| `OPENAI_API_KEY`                    | No          | none                                                                 | OpenAI API key. Required for OpenAI; for many OpenAI-compatible proxies any non-empty value works                |
| `OPENAI_BASE_URL`                   | No          | none                                                                 | OpenAI-compatible API base URL (e.g. proxy endpoint)                                                             |
| `OPENAI_API_MODE`                   | No          | responses                                                            | OpenAI API mode: `responses` (default) or `chat_completions` (common for proxies)                                |
| `GOOGLE_GENERATIVE_AI_API_KEY`      | No          | none                                                                 | Google AI API key (required when CHAT\_PROVIDER=google or EMBEDDINGS\_PROVIDER=google)                           |
| `ANTHROPIC_API_KEY`                 | No          | none                                                                 | Anthropic API key (required when CHAT\_PROVIDER=anthropic)                                                       |
| `MODEL`                             | No          | gpt-4-turbo-2024-04-09                                               | Default chat model                                                                                               |
| `CHAT_PROVIDER`                     | No          | openai                                                               | Chat provider: `openai` (default), `anthropic`, `google`, or `ollama`                                            |
| `EMBEDDINGS_PROVIDER`               | No          | openai                                                               | Embeddings provider: `openai` (default), `google`, or `ollama`. See [Embedding Models](/self-hosting/embeddings) |
| `EMBEDDING_MODEL`                   | No          | text-embedding-3-small                                               | Model for text embeddings                                                                                        |
| `EMBEDDING_MODEL_SIZE`              | No          | 1536                                                                 | Embedding dimension (must match pgvector schema/index dimension)                                                 |
| `OLLAMA_URL`                        | No          | [http://ollama:11434](http://ollama:11434)                           | Ollama server URL for local models                                                                               |
| **Background Jobs**                 |             |                                                                      |                                                                                                                  |
| `QUEUE_PROVIDER`                    | No          | trigger                                                              | Queue provider: "trigger" for Trigger.dev or "bullmq" for BullMQ (Redis-based)                                   |
| `TRIGGER_PROJECT_ID`                | Conditional | none                                                                 | Trigger.dev project identifier (required only when QUEUE\_PROVIDER=trigger)                                      |
| `TRIGGER_SECRET_KEY`                | Conditional | none                                                                 | Trigger.dev authentication secret (required only when QUEUE\_PROVIDER=trigger)                                   |
| `TRIGGER_API_URL`                   | Conditional | [http://host.docker.internal:8030](http://host.docker.internal:8030) | Trigger.dev API endpoint (required only when QUEUE\_PROVIDER=trigger)                                            |
| `TRIGGER_DB`                        | No          | trigger                                                              | Database name for Trigger.dev                                                                                    |
| **Telemetry**                       |             |                                                                      |                                                                                                                  |
| `POSTHOG_PROJECT_KEY`               | No          | phc\_SwfGIzzX5gh5bazVWoRxZTBhkr7FwvzArS0NRyGXm1a                     | PostHog project key for usage analytics                                                                          |
| `TELEMETRY_ENABLED`                 | No          | true                                                                 | Enable (true) or disable (false) telemetry collection                                                            |
| `TELEMETRY_ANONYMOUS`               | No          | false                                                                | Send anonymous telemetry (true) or include user email (false)                                                    |
| **Provider Configuration**          |             |                                                                      |                                                                                                                  |
| `GRAPH_PROVIDER`                    | No          | neo4j                                                                | Graph database provider: "neo4j", "falkordb", or "helix"                                                         |
| `VECTOR_PROVIDER`                   | No          | pgvector                                                             | Vector store provider: "pgvector", "turbopuffer", or "qdrant"                                                    |
| `MODEL_PROVIDER`                    | No          | vercel-ai                                                            | Model provider abstraction layer                                                                                 |
| **Reranking**                       |             |                                                                      |                                                                                                                  |
| `RERANK_PROVIDER`                   | No          | none                                                                 | Reranking provider: "cohere", "ollama", or "none"                                                                |
| `COHERE_API_KEY`                    | No          | none                                                                 | Cohere API key (required when RERANK\_PROVIDER=cohere)                                                           |
| `COHERE_RERANK_MODEL`               | No          | rerank-english-v3.0                                                  | Cohere reranking model                                                                                           |
| `COHERE_SCORE_THRESHOLD`            | No          | 0.3                                                                  | Minimum score threshold for Cohere reranking                                                                     |
| `OLLAMA_RERANK_MODEL`               | No          | dengcao/Qwen3-Reranker-8B:Q4\_K\_M                                   | Ollama reranking model                                                                                           |
| `OLLAMA_SCORE_THRESHOLD`            | No          | 0.3                                                                  | Minimum score threshold for Ollama reranking                                                                     |
| **Email / SMTP**                    |             |                                                                      |                                                                                                                  |
| `EMAIL_TRANSPORT`                   | No          | none                                                                 | Email transport: "smtp" or "resend"                                                                              |
| `FROM_EMAIL`                        | No          | none                                                                 | Sender email address                                                                                             |
| `REPLY_TO_EMAIL`                    | No          | none                                                                 | Reply-to email address                                                                                           |
| `RESEND_API_KEY`                    | No          | none                                                                 | Resend API key (required when EMAIL\_TRANSPORT=resend)                                                           |
| `RESEND_WEBHOOK_SECRET`             | No          | none                                                                 | Resend webhook signing secret                                                                                    |
| `SMTP_HOST`                         | No          | none                                                                 | SMTP server hostname                                                                                             |
| `SMTP_PORT`                         | No          | none                                                                 | SMTP server port                                                                                                 |
| `SMTP_SECURE`                       | No          | none                                                                 | Use TLS for SMTP (true/false)                                                                                    |
| `SMTP_USER`                         | No          | none                                                                 | SMTP authentication username                                                                                     |
| `SMTP_PASSWORD`                     | No          | none                                                                 | SMTP authentication password                                                                                     |
| **Channels**                        |             |                                                                      |                                                                                                                  |
| `SLACK_SIGNING_SECRET`              | No          | none                                                                 | Slack app signing secret for webhook verification                                                                |
| `TWILIO_ACCOUNT_SID`                | No          | none                                                                 | Twilio account SID (required for WhatsApp channel)                                                               |
| `TWILIO_AUTH_TOKEN`                 | No          | none                                                                 | Twilio auth token (required for WhatsApp channel)                                                                |
| `TWILIO_WHATSAPP_NUMBER`            | No          | none                                                                 | Twilio WhatsApp number (e.g. whatsapp:+14155238886)                                                              |
| **Other**                           |             |                                                                      |                                                                                                                  |
| `EXA_API_KEY`                       | No          | none                                                                 | Exa API key for web search capabilities                                                                          |

## Security Considerations

### Required Secrets

These secrets must be generated and kept secure:

```bash theme={null}
# Generate secure random secrets
openssl rand -hex 16  # For SESSION_SECRET
openssl rand -hex 16  # For MAGIC_LINK_SECRET  
openssl rand -hex 16  # For ENCRYPTION_KEY
openssl rand -hex 16  # For NEO4J_PASSWORD
```

### Production Recommendations

* **Change all default passwords** before deploying to production
* **Use environment-specific secrets** - never reuse secrets across environments
* **Store secrets securely** - use a secrets manager in production
* **Enable TLS** for all database connections in production
* **Restrict CORS origins** to your actual domains
* **Use strong authentication** - configure OAuth providers for production use

### Docker Compose Networks

When using Docker Compose, service names are used as hostnames:

* `postgres` for PostgreSQL
* `neo4j` for Neo4j
* `redis` for Redis
* `ollama` for Ollama (if using local models)

For external services (like Trigger.dev), use `host.docker.internal` to access services running on the host machine.
