Skip to main content

Backend (Convex)

These go in packages/backend/.env.local:

Core

VariableDescriptionExample
SITE_URLYour dashboard URLhttps://app.yourdomain.com
FRONTEND_URLSame as SITE_URLhttps://app.yourdomain.com
COOKIE_DOMAINDomain for cookies.yourdomain.com
BETTER_AUTH_SECRETSecret for signing tokensRandom 32+ char string

Embeddings Service

VariableDescriptionExample
EMBEDDING_URLEmbeddings service URLhttp://localhost:8008
EMBEDDING_MODELModel to useintfloat/e5-base-v2
MEMORY_VECTOR_SCAN_LIMITMax vectors to scan2000

Authentication (OAuth)

# GitHub OAuth
GITHUB_CLIENT_ID=your-github-oauth-id
GITHUB_CLIENT_SECRET=your-github-oauth-secret

OTP via Twilio (Optional)

TWILIO_ACCOUNT_SID=your-twilio-sid
TWILIO_AUTH_TOKEN=your-twilio-token
TWILIO_VERIFY_SERVICE_SID=your-verify-service

Email via Resend (Optional)

RESEND_SEND_API_KEY=your-resend-api-key
RESEND_CONTACTS_API_KEY=your-contacts-key
RESEND_AUDIENCE_ID=your-audience-id

Billing via Polar (Optional)

POLAR_ORGANIZATION_TOKEN=your-polar-token
POLAR_WEBHOOK_SECRET=your-webhook-secret
POLAR_PRODUCT_SURFACE_ID=prod_xxx
POLAR_PRODUCT_TIDE_ID=prod_xxx
POLAR_PRODUCT_ABYSS_ID=prod_xxx

Frontend (Dashboard)

These go in apps/dashboard/.env:
# Convex
VITE_CONVEX_URL=https://your-deployment.convex.cloud
VITE_CONVEX_SITE_URL=https://your-deployment.convex.site
VITE_INTERNAL_SITE_URL=http://localhost:3002

# Analytics (Bklit) - Optional
VITE_BKLIT_PROJECT_ID=your-project-id
VITE_BKLIT_API_KEY=your-api-key
VITE_BKLIT_API_HOST=https://analytics.nebaura.studio
VITE_BKLIT_ENVIRONMENT=production
VITE_BKLIT_DEBUG=false

Embeddings Service

These go in apps/embeddings/.env:
EMBEDDING_MODEL=intfloat/e5-base-v2
EMBEDDING_MAX_BATCH=32

Model Options

ModelSizeQualitySpeed
intfloat/e5-base-v2438MBBestMedium
all-MiniLM-L6-v280MBGoodFast
all-mpnet-base-v2420MBBetterMedium

Example Complete Setup

packages/backend/.env.local:
# Core
SITE_URL=https://app.yourdomain.com
FRONTEND_URL=https://app.yourdomain.com
COOKIE_DOMAIN=.yourdomain.com
BETTER_AUTH_SECRET=your-super-secret-key-at-least-32-chars

# Embeddings
EMBEDDING_URL=http://localhost:8008
EMBEDDING_MODEL=intfloat/e5-base-v2
MEMORY_VECTOR_SCAN_LIMIT=2000

# OAuth
GITHUB_CLIENT_ID=xxxxx
GITHUB_CLIENT_SECRET=xxxxx

# Email (optional)
RESEND_SEND_API_KEY=re_xxxxx
apps/dashboard/.env:
VITE_CONVEX_URL=https://your-project.convex.cloud
VITE_CONVEX_SITE_URL=https://your-project.convex.site

Security Notes

Never commit .env files to version control. Add .env to your .gitignore.
  • Use strong, random values for secrets
  • Rotate keys periodically
  • Use different values for development and production
  • Consider using a secrets manager in production