Backend (Convex)
These go inpackages/backend/.env.local:
Core
| Variable | Description | Example |
|---|---|---|
SITE_URL | Your dashboard URL | https://app.yourdomain.com |
FRONTEND_URL | Same as SITE_URL | https://app.yourdomain.com |
COOKIE_DOMAIN | Domain for cookies | .yourdomain.com |
BETTER_AUTH_SECRET | Secret for signing tokens | Random 32+ char string |
Embeddings Service
| Variable | Description | Example |
|---|---|---|
EMBEDDING_URL | Embeddings service URL | http://localhost:8008 |
EMBEDDING_MODEL | Model to use | intfloat/e5-base-v2 |
MEMORY_VECTOR_SCAN_LIMIT | Max vectors to scan | 2000 |
Authentication (OAuth)
OTP via Twilio (Optional)
Email via Resend (Optional)
Billing via Polar (Optional)
Frontend (Dashboard)
These go inapps/dashboard/.env:
Embeddings Service
These go inapps/embeddings/.env:
Model Options
| Model | Size | Quality | Speed |
|---|---|---|---|
intfloat/e5-base-v2 | 438MB | Best | Medium |
all-MiniLM-L6-v2 | 80MB | Good | Fast |
all-mpnet-base-v2 | 420MB | Better | Medium |
Example Complete Setup
packages/backend/.env.local:Security Notes
- Use strong, random values for secrets
- Rotate keys periodically
- Use different values for development and production
- Consider using a secrets manager in production

