> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/rowboatlabs/rowboat/llms.txt
> Use this file to discover all available pages before exploring further.

# Environment Configuration

> Complete reference for Rowboat web platform environment variables

The Rowboat web platform is configured entirely through environment variables. This page documents all available options.

## Basic Configuration

These variables are required for the platform to function.

### OpenAI API Key

**OPENAI\_API\_KEY** `string` *required*

Your OpenAI API key for accessing GPT models.

```bash theme={null}
OPENAI_API_KEY=sk-proj-...
```

> [!NOTE]
>
> Even if you use alternative LLM providers, this key is currently required for some internal features.

### Database Connections

**MONGODB\_CONNECTION\_STRING** `string` (default: mongodb://mongo:27017/rowboat)

MongoDB connection URI.

```bash theme={null}
MONGODB_CONNECTION_STRING=mongodb://mongo:27017/rowboat
```

**REDIS\_URL** `string` (default: redis\://redis:6379)

Redis connection URL for caching and job queues.

```bash theme={null}
REDIS_URL=redis://redis:6379
```

## Authentication (Auth0)

Enable user authentication with Auth0.

**USE\_AUTH** `boolean` (default: false)

Enable or disable Auth0 authentication.

```bash theme={null}
USE_AUTH=true
```

> [!WARNING]
>
> When `USE_AUTH=false`, the platform runs in single-user mode without authentication. This is only suitable for local development.

### Auth0 Configuration

Required when `USE_AUTH=true`:

**AUTH0\_SECRET** `string` *required*

Random secret for signing Auth0 session cookies.

```bash theme={null}
AUTH0_SECRET=$(openssl rand -hex 32)
```

**AUTH0\_BASE\_URL** `string` *required*

Public URL of your Rowboat instance.

```bash theme={null}
AUTH0_BASE_URL=https://rowboat.yourdomain.com
```

**AUTH0\_ISSUER\_BASE\_URL** `string` *required*

Your Auth0 tenant URL.

```bash theme={null}
AUTH0_ISSUER_BASE_URL=https://your-tenant.auth0.com
```

**AUTH0\_CLIENT\_ID** `string` *required*

Auth0 application client ID.

```bash theme={null}
AUTH0_CLIENT_ID=abc123...
```

**AUTH0\_CLIENT\_SECRET** `string` *required*

Auth0 application client secret.

```bash theme={null}
AUTH0_CLIENT_SECRET=secret123...
```

## RAG (Retrieval Augmented Generation)

Enable RAG features for document search and semantic retrieval.

### Core RAG Settings

**USE\_RAG** `boolean` (default: false)

Enable RAG features.

```bash theme={null}
USE_RAG=true
```

**QDRANT\_URL** `string`

Qdrant vector database URL.

```bash theme={null}
QDRANT_URL=http://qdrant:6333
```

**QDRANT\_API\_KEY** `string`

API key for authenticating with Qdrant.

```bash theme={null}
QDRANT_API_KEY=your-qdrant-key
```

### File Uploads

Enable file upload and processing:

**USE\_RAG\_UPLOADS** `boolean` (default: false)

Enable file upload capabilities.

```bash theme={null}
USE_RAG_UPLOADS=true
```

**USE\_RAG\_S3\_UPLOADS** `boolean` (default: false)

Store uploads in S3 instead of local filesystem.

```bash theme={null}
USE_RAG_S3_UPLOADS=true
```

### S3 Configuration

Required when `USE_RAG_S3_UPLOADS=true`:

**AWS\_ACCESS\_KEY\_ID** `string`

AWS access key for S3.

```bash theme={null}
AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
```

**AWS\_SECRET\_ACCESS\_KEY** `string`

AWS secret key for S3.

```bash theme={null}
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

**RAG\_UPLOADS\_S3\_BUCKET** `string`

S3 bucket name for uploads.

```bash theme={null}
RAG_UPLOADS_S3_BUCKET=rowboat-uploads
```

**RAG\_UPLOADS\_S3\_REGION** `string`

AWS region for S3 bucket.

```bash theme={null}
RAG_UPLOADS_S3_REGION=us-east-1
```

### Web Scraping

Enable URL scraping with Firecrawl:

**USE\_RAG\_SCRAPING** `boolean` (default: false)

Enable web scraping features.

```bash theme={null}
USE_RAG_SCRAPING=true
```

**FIRECRAWL\_API\_KEY** `string`

Firecrawl API key for web scraping.

```bash theme={null}
FIRECRAWL_API_KEY=fc-...
```

Get your key at [firecrawl.dev](https://firecrawl.dev)

### Embedding Configuration

**EMBEDDING\_PROVIDER\_BASE\_URL** `string`

Custom base URL for embedding provider.

```bash theme={null}
EMBEDDING_PROVIDER_BASE_URL=https://api.openai.com/v1
```

**EMBEDDING\_PROVIDER\_API\_KEY** `string`

API key for embedding provider.

```bash theme={null}
EMBEDDING_PROVIDER_API_KEY=sk-...
```

**EMBEDDING\_MODEL** `string` (default: text-embedding-ada-002)

Model to use for generating embeddings.

```bash theme={null}
EMBEDDING_MODEL=text-embedding-3-small
```

**EMBEDDING\_VECTOR\_SIZE** `number` (default: 1536)

Dimension of embedding vectors (must match model output).

```bash theme={null}
EMBEDDING_VECTOR_SIZE=1536
```

**USE\_GEMINI\_FILE\_PARSING** `boolean` (default: false)

Use Google Gemini for parsing uploaded files.

```bash theme={null}
USE_GEMINI_FILE_PARSING=true
GOOGLE_API_KEY=your-google-api-key
```

## LLM Provider Configuration

Customize the AI model provider:

**PROVIDER\_BASE\_URL** `string`

Base URL for custom LLM provider.

```bash theme={null}
PROVIDER_BASE_URL=https://api.anthropic.com
```

**PROVIDER\_API\_KEY** `string`

API key for custom provider.

```bash theme={null}
PROVIDER_API_KEY=sk-ant-...
```

**PROVIDER\_DEFAULT\_MODEL** `string`

Default model for agents.

```bash theme={null}
PROVIDER_DEFAULT_MODEL=claude-3-5-sonnet-20241022
```

**PROVIDER\_COPILOT\_MODEL** `string`

Model for copilot features.

```bash theme={null}
PROVIDER_COPILOT_MODEL=claude-3-5-sonnet-20241022
```

## Tool Integrations

### Composio

Integrate with Composio for external tool access:

**USE\_COMPOSIO\_TOOLS** `boolean` (default: false)

Enable Composio integration.

```bash theme={null}
USE_COMPOSIO_TOOLS=true
```

**COMPOSIO\_API\_KEY** `string`

Composio API key.

```bash theme={null}
COMPOSIO_API_KEY=comp_...
```

Get your key at [composio.dev](https://composio.dev)

**COMPOSIO\_TRIGGERS\_WEBHOOK\_SECRET** `string`

Webhook secret for Composio triggers.

```bash theme={null}
COMPOSIO_TRIGGERS_WEBHOOK_SECRET=whsec_...
```

### Klavis

Enable Klavis tool integration:

**USE\_KLAVIS\_TOOLS** `boolean` (default: false)

Enable Klavis integration.

```bash theme={null}
USE_KLAVIS_TOOLS=true
```

**KLAVIS\_API\_KEY** `string`

Klavis API key.

```bash theme={null}
KLAVIS_API_KEY=klv_...
```

**KLAVIS\_GITHUB\_CLIENT\_ID** `string`

GitHub OAuth client ID for Klavis.

```bash theme={null}
KLAVIS_GITHUB_CLIENT_ID=Iv1.abc123...
```

**KLAVIS\_GOOGLE\_CLIENT\_ID** `string`

Google OAuth client ID for Klavis.

```bash theme={null}
KLAVIS_GOOGLE_CLIENT_ID=123456789-abc.apps.googleusercontent.com
```

## Rate Limiting & Quotas

**MAX\_QUERIES\_PER\_MINUTE** `number`

Maximum API queries per minute per user.

```bash theme={null}
MAX_QUERIES_PER_MINUTE=60
```

**MAX\_PROJECTS\_PER\_USER** `number`

Maximum projects a user can create.

```bash theme={null}
MAX_PROJECTS_PER_USER=10
```

## Billing Integration

**USE\_BILLING** `boolean` (default: false)

Enable billing integration.

```bash theme={null}
USE_BILLING=true
```

**BILLING\_API\_URL** `string`

Billing service URL.

```bash theme={null}
BILLING_API_URL=https://billing.yourdomain.com
```

**BILLING\_API\_KEY** `string`

API key for billing service.

```bash theme={null}
BILLING_API_KEY=bill_...
```

## Microservices

Configuration for optional microservices:

### Agents API

**AGENTS\_API\_URL** `string` (default: http\://rowboat\_agents:3001)

URL for the agents microservice.

```bash theme={null}
AGENTS_API_URL=http://rowboat_agents:3001
```

**AGENTS\_API\_KEY** `string`

API key for agents service.

```bash theme={null}
AGENTS_API_KEY=$(openssl rand -hex 32)
```

### Copilot API

**COPILOT\_API\_URL** `string` (default: [http://copilot:3002](http://copilot:3002))

URL for the copilot microservice.

```bash theme={null}
COPILOT_API_URL=http://copilot:3002
```

**COPILOT\_API\_KEY** `string`

API key for copilot service.

```bash theme={null}
COPILOT_API_KEY=$(openssl rand -hex 32)
```

### Voice API

**VOICE\_API\_URL** `string`

URL for voice interaction service.

```bash theme={null}
VOICE_API_URL=https://voice.yourdomain.com
```

## Chat Widget

Enable embeddable chat widget:

**USE\_CHAT\_WIDGET** `boolean` (default: false)

Enable chat widget features.

```bash theme={null}
USE_CHAT_WIDGET=true
```

**CHAT\_WIDGET\_HOST** `string` (default: [http://localhost:3006](http://localhost:3006))

URL where chat widget is hosted.

```bash theme={null}
CHAT_WIDGET_HOST=https://widget.yourdomain.com
```

**CHAT\_WIDGET\_SESSION\_JWT\_SECRET** `string`

Secret for signing chat widget session tokens.

```bash theme={null}
CHAT_WIDGET_SESSION_JWT_SECRET=$(openssl rand -hex 32)
```

## Example Configurations

### Minimal Development Setup

```bash .env theme={null}
# Minimal config for local development
OPENAI_API_KEY=sk-proj-...
```

### Production with RAG

```bash .env theme={null}
# Production with RAG and Auth
NODE_ENV=production
OPENAI_API_KEY=sk-proj-...

# Auth
USE_AUTH=true
AUTH0_SECRET=generated-secret-here
AUTH0_BASE_URL=https://rowboat.yourdomain.com
AUTH0_ISSUER_BASE_URL=https://your-tenant.auth0.com
AUTH0_CLIENT_ID=your-client-id
AUTH0_CLIENT_SECRET=your-client-secret

# RAG with S3
USE_RAG=true
QDRANT_URL=http://qdrant:6333
QDRANT_API_KEY=your-qdrant-key

USE_RAG_UPLOADS=true
USE_RAG_S3_UPLOADS=true
AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
RAG_UPLOADS_S3_BUCKET=rowboat-uploads
RAG_UPLOADS_S3_REGION=us-east-1

USE_RAG_SCRAPING=true
FIRECRAWL_API_KEY=fc-...

# Rate limiting
MAX_QUERIES_PER_MINUTE=100
MAX_PROJECTS_PER_USER=25
```

### Full Feature Set

```bash .env theme={null}
# All features enabled
NODE_ENV=production
PORT=3000

# AI Provider
OPENAI_API_KEY=sk-proj-...
PROVIDER_BASE_URL=https://api.anthropic.com
PROVIDER_API_KEY=sk-ant-...
PROVIDER_DEFAULT_MODEL=claude-3-5-sonnet-20241022
PROVIDER_COPILOT_MODEL=claude-3-5-sonnet-20241022

# Auth
USE_AUTH=true
AUTH0_SECRET=generated-secret
AUTH0_BASE_URL=https://rowboat.yourdomain.com
AUTH0_ISSUER_BASE_URL=https://tenant.auth0.com
AUTH0_CLIENT_ID=client-id
AUTH0_CLIENT_SECRET=client-secret

# RAG
USE_RAG=true
QDRANT_URL=http://qdrant:6333
QDRANT_API_KEY=qdrant-key
USE_RAG_UPLOADS=true
USE_RAG_S3_UPLOADS=true
AWS_ACCESS_KEY_ID=aws-key
AWS_SECRET_ACCESS_KEY=aws-secret
RAG_UPLOADS_S3_BUCKET=uploads
RAG_UPLOADS_S3_REGION=us-east-1
USE_RAG_SCRAPING=true
FIRECRAWL_API_KEY=fc-key

# Tools
USE_COMPOSIO_TOOLS=true
COMPOSIO_API_KEY=comp-key
COMPOSIO_TRIGGERS_WEBHOOK_SECRET=whsec-secret
USE_KLAVIS_TOOLS=true
KLAVIS_API_KEY=klv-key

# Billing
USE_BILLING=true
BILLING_API_URL=https://billing.yourdomain.com
BILLING_API_KEY=bill-key

# Chat Widget
USE_CHAT_WIDGET=true
CHAT_WIDGET_HOST=https://widget.yourdomain.com
CHAT_WIDGET_SESSION_JWT_SECRET=widget-secret

# Limits
MAX_QUERIES_PER_MINUTE=100
MAX_PROJECTS_PER_USER=25
```

## Next Steps

> **[Overview](/platform/web/overview)**
>
> Learn about the web platform architecture

> **[Deployment](/platform/web/deployment)**
>
> Deploy with Docker Compose


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.