Skip to main content
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.
OPENAI_API_KEY=sk-proj-...
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.
MONGODB_CONNECTION_STRING=mongodb://mongo:27017/rowboat
REDIS_URL
string
default:"redis://redis:6379"
Redis connection URL for caching and job queues.
REDIS_URL=redis://redis:6379

Authentication (Auth0)

Enable user authentication with Auth0.
USE_AUTH
boolean
default:"false"
Enable or disable Auth0 authentication.
USE_AUTH=true
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.
AUTH0_SECRET=$(openssl rand -hex 32)
AUTH0_BASE_URL
string
required
Public URL of your Rowboat instance.
AUTH0_BASE_URL=https://rowboat.yourdomain.com
AUTH0_ISSUER_BASE_URL
string
required
Your Auth0 tenant URL.
AUTH0_ISSUER_BASE_URL=https://your-tenant.auth0.com
AUTH0_CLIENT_ID
string
required
Auth0 application client ID.
AUTH0_CLIENT_ID=abc123...
AUTH0_CLIENT_SECRET
string
required
Auth0 application client secret.
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.
USE_RAG=true
QDRANT_URL
string
Qdrant vector database URL.
QDRANT_URL=http://qdrant:6333
QDRANT_API_KEY
string
API key for authenticating with Qdrant.
QDRANT_API_KEY=your-qdrant-key

File Uploads

Enable file upload and processing:
USE_RAG_UPLOADS
boolean
default:"false"
Enable file upload capabilities.
USE_RAG_UPLOADS=true
USE_RAG_S3_UPLOADS
boolean
default:"false"
Store uploads in S3 instead of local filesystem.
USE_RAG_S3_UPLOADS=true

S3 Configuration

Required when USE_RAG_S3_UPLOADS=true:
AWS_ACCESS_KEY_ID
string
AWS access key for S3.
AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY
string
AWS secret key for S3.
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
RAG_UPLOADS_S3_BUCKET
string
S3 bucket name for uploads.
RAG_UPLOADS_S3_BUCKET=rowboat-uploads
RAG_UPLOADS_S3_REGION
string
AWS region for S3 bucket.
RAG_UPLOADS_S3_REGION=us-east-1

Web Scraping

Enable URL scraping with Firecrawl:
USE_RAG_SCRAPING
boolean
default:"false"
Enable web scraping features.
USE_RAG_SCRAPING=true
FIRECRAWL_API_KEY
string
Firecrawl API key for web scraping.
FIRECRAWL_API_KEY=fc-...
Get your key at firecrawl.dev

Embedding Configuration

EMBEDDING_PROVIDER_BASE_URL
string
Custom base URL for embedding provider.
EMBEDDING_PROVIDER_BASE_URL=https://api.openai.com/v1
EMBEDDING_PROVIDER_API_KEY
string
API key for embedding provider.
EMBEDDING_PROVIDER_API_KEY=sk-...
EMBEDDING_MODEL
string
default:"text-embedding-ada-002"
Model to use for generating embeddings.
EMBEDDING_MODEL=text-embedding-3-small
EMBEDDING_VECTOR_SIZE
number
default:"1536"
Dimension of embedding vectors (must match model output).
EMBEDDING_VECTOR_SIZE=1536
USE_GEMINI_FILE_PARSING
boolean
default:"false"
Use Google Gemini for parsing uploaded files.
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.
PROVIDER_BASE_URL=https://api.anthropic.com
PROVIDER_API_KEY
string
API key for custom provider.
PROVIDER_API_KEY=sk-ant-...
PROVIDER_DEFAULT_MODEL
string
Default model for agents.
PROVIDER_DEFAULT_MODEL=claude-3-5-sonnet-20241022
PROVIDER_COPILOT_MODEL
string
Model for copilot features.
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.
USE_COMPOSIO_TOOLS=true
COMPOSIO_API_KEY
string
Composio API key.
COMPOSIO_API_KEY=comp_...
Get your key at composio.dev
COMPOSIO_TRIGGERS_WEBHOOK_SECRET
string
Webhook secret for Composio triggers.
COMPOSIO_TRIGGERS_WEBHOOK_SECRET=whsec_...

Klavis

Enable Klavis tool integration:
USE_KLAVIS_TOOLS
boolean
default:"false"
Enable Klavis integration.
USE_KLAVIS_TOOLS=true
KLAVIS_API_KEY
string
Klavis API key.
KLAVIS_API_KEY=klv_...
KLAVIS_GITHUB_CLIENT_ID
string
GitHub OAuth client ID for Klavis.
KLAVIS_GITHUB_CLIENT_ID=Iv1.abc123...
KLAVIS_GOOGLE_CLIENT_ID
string
Google OAuth client ID for Klavis.
KLAVIS_GOOGLE_CLIENT_ID=123456789-abc.apps.googleusercontent.com

Rate Limiting & Quotas

MAX_QUERIES_PER_MINUTE
number
Maximum API queries per minute per user.
MAX_QUERIES_PER_MINUTE=60
MAX_PROJECTS_PER_USER
number
Maximum projects a user can create.
MAX_PROJECTS_PER_USER=10

Billing Integration

USE_BILLING
boolean
default:"false"
Enable billing integration.
USE_BILLING=true
BILLING_API_URL
string
Billing service URL.
BILLING_API_URL=https://billing.yourdomain.com
BILLING_API_KEY
string
API key for billing service.
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.
AGENTS_API_URL=http://rowboat_agents:3001
AGENTS_API_KEY
string
API key for agents service.
AGENTS_API_KEY=$(openssl rand -hex 32)

Copilot API

COPILOT_API_URL
string
default:"http://copilot:3002"
URL for the copilot microservice.
COPILOT_API_URL=http://copilot:3002
COPILOT_API_KEY
string
API key for copilot service.
COPILOT_API_KEY=$(openssl rand -hex 32)

Voice API

VOICE_API_URL
string
URL for voice interaction service.
VOICE_API_URL=https://voice.yourdomain.com

Chat Widget

Enable embeddable chat widget:
USE_CHAT_WIDGET
boolean
default:"false"
Enable chat widget features.
USE_CHAT_WIDGET=true
CHAT_WIDGET_HOST
string
default:"http://localhost:3006"
URL where chat widget is hosted.
CHAT_WIDGET_HOST=https://widget.yourdomain.com
CHAT_WIDGET_SESSION_JWT_SECRET
string
Secret for signing chat widget session tokens.
CHAT_WIDGET_SESSION_JWT_SECRET=$(openssl rand -hex 32)

Example Configurations

Minimal Development Setup

.env
# Minimal config for local development
OPENAI_API_KEY=sk-proj-...

Production with RAG

.env
# 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

.env
# 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

Learn about the web platform architecture

Deployment

Deploy with Docker Compose

Build docs developers (and LLMs) love