Environment Variables
Quick reference for all required environment variables.
Required Variables
Section titled “Required Variables”| App | Variables |
|---|---|
| web | PostHog (optional) |
| app | NEXT_PUBLIC_API_URL, Stripe pub key (optional), PostHog (optional) |
| api | AUTH_JWT_SECRET, DATABASE_URL, App URLs, Stripe keys (optional), Resend (optional), Axiom (optional) |
| database | DATABASE_URL |
| studio | DATABASE_URL |
By App
Section titled “By App”apps/web/.env.local
Section titled “apps/web/.env.local”NEXT_PUBLIC_POSTHOG_KEY=phc_... # Optional
NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com # Optionalapps/app/.env.local
Section titled “apps/app/.env.local”NEXT_PUBLIC_API_URL=http://localhost:3002
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_... # Optional
NEXT_PUBLIC_STRIPE_PRICE_ID_PRO=price_... # Optional
NEXT_PUBLIC_STRIPE_PRICE_ID_ENTERPRISE=price_... # Optional
NEXT_PUBLIC_POSTHOG_KEY=phc_... # Optional
NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com # Optional
NEXT_PUBLIC_AXIOM_TOKEN=xaat-... # Optional
NEXT_PUBLIC_AXIOM_DATASET=orion-kit # Optionalapps/api/.env.local
Section titled “apps/api/.env.local”DATABASE_URL=postgresql://...
AUTH_JWT_SECRET=your-super-secret-key-min-32-chars
NEXT_PUBLIC_APP_URL=http://localhost:3001
NEXT_PUBLIC_API_URL=http://localhost:3002
STRIPE_SECRET_KEY=sk_test_... # Optional
STRIPE_WEBHOOK_SECRET=whsec_... # Optional
RESEND_API_KEY=re_... # Optional
FROM_EMAIL=onboarding@resend.dev # Optional
NEXT_PUBLIC_AXIOM_TOKEN=xaat-... # Optional
NEXT_PUBLIC_AXIOM_DATASET=orion-kit # Optionalpackages/database/.env + apps/studio/.env.local
Section titled “packages/database/.env + apps/studio/.env.local”DATABASE_URL=postgresql://...Key Formats
Section titled “Key Formats”| Variable | Format | Where to Get |
|---|---|---|
| JWT Secret | your-super-secret-key-min-32-chars | Generate your own secure random string (32+ characters) |
| Database URL | postgresql://...?sslmode=require | Neon Console → Pooled Connection |
| Stripe keys | sk_test_* / pk_test_* | Stripe Dashboard |
| Stripe webhook | whsec_* | stripe listen output |
| Stripe prices | price_* | Stripe Dashboard → Products → Pricing |
| Resend API | re_* | Resend → API Keys |
| Axiom | xaat_* | Axiom → API Tokens |
| PostHog | phc_* | PostHog → API Keys |
⚠️ Important:
- Use
NEXT_PUBLIC_prefix for client-accessible variables - Never commit
.envfiles to git - Use test keys for dev, live keys for production
# Copy env examples
cp apps/web/.env.example apps/web/.env.local
cp apps/app/.env.example apps/app/.env.local
cp apps/api/.env.example apps/api/.env.local
cp packages/database/.env.example packages/database/.env
# Fill in values → restart servers
pnpm devSee Accounts Setup for detailed instructions.