Skip to main content
This page is the self‑hosting configuration guide. It’s structured for quick setup first, then deeper configuration.

Fastest Setup (Local Dev)

Use this for evaluation or local testing with Docker Compose.
1

Create .env

cp .env.example .env
2

Set only the essentials

ANTHROPIC_API_KEY=...
MODAL_APP_NAME=...
MODAL_TOKEN_ID=...
MODAL_TOKEN_SECRET=...
MODAL_ENDPOINT_URL=...
For local dev, .env.example includes reasonable defaults for database, Redis, URLs, and feature flags.

Production Readiness Checklist

Before you deploy publicly, replace the defaults with production‑grade values:
  • Set your own DATABASE_URL and REDIS_URL
  • Rotate all secrets (BETTER_AUTH_SECRET, SERVICE_TO_SERVICE_AUTH_TOKEN, USER_SECRETS_ENCRYPTION_KEY)
  • Set public URLs (NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_API_URL, NEXT_PUBLIC_GATEWAY_URL)
  • Confirm your sandbox provider credentials (Modal by default)
Use wss:// for NEXT_PUBLIC_GATEWAY_URL in production.

Sandbox Provider (Required)

Modal is the default. To switch providers, set DEFAULT_SANDBOX_PROVIDER=e2b.

Optional Features

Required only if NEXT_PUBLIC_INTEGRATIONS_ENABLED=true (or cloud profile).
NANGO_SECRET_KEY=...
NEXT_PUBLIC_NANGO_GITHUB_INTEGRATION_ID=...
NEXT_PUBLIC_NANGO_LINEAR_INTEGRATION_ID=...
NEXT_PUBLIC_NANGO_SENTRY_INTEGRATION_ID=...
Required if EMAIL_ENABLED=true or NEXT_PUBLIC_ENFORCE_EMAIL_VERIFICATION=true.
RESEND_API_KEY=...
EMAIL_FROM=...
# GitHub OAuth
GITHUB_OAUTH_APP_ID=...
GITHUB_OAUTH_APP_SECRET=...

# Google OAuth
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
SLACK_CLIENT_ID=...
SLACK_CLIENT_SECRET=...
SLACK_SIGNING_SECRET=...
PROLIFERATE_SLACK_BOT_TOKEN=...
Required when NEXT_PUBLIC_USE_NANGO_GITHUB=false.
GITHUB_APP_ID=...
GITHUB_APP_PRIVATE_KEY=...
GITHUB_APP_WEBHOOK_SECRET=...
If you set LLM_PROXY_URL, the proxy must be publicly reachable by your sandbox provider.
LLM_PROXY_URL=...
LLM_PROXY_MASTER_KEY=...
# Optional
LLM_PROXY_KEY_DURATION=...
LLM_PROXY_ADMIN_URL=...
LLM_PROXY_PUBLIC_URL=...
NEXT_PUBLIC_POSTHOG_HOST=...
NEXT_PUBLIC_POSTHOG_KEY=...
NEXT_PUBLIC_INTERCOM_APP_ID=...
NEXT_PUBLIC_SENTRY_DSN=...

Build‑Time Public Settings

NEXT_PUBLIC_* values are baked into the web build. Set them before building your web image.
If you change NEXT_PUBLIC_* values after a build, you must rebuild the web image for the changes to take effect.

Cloud‑Only (Not Required for Self‑Host)

  • Billing (Autumn): AUTUMN_API_KEY, AUTUMN_API_URL, BILLING_JWT_SECRET
  • Verification storage: S3_BUCKET, S3_REGION
For the full canonical list and gating logic, see ENVIRONMENT.md.