Skip to main content

Vercel Environment Variables

Configure production environment variables in Vercel so your deployed app matches local .env.local.

Required variables (apps/web)​

# Firebase (client)
NEXT_PUBLIC_FIREBASE_API_KEY=...
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=...
NEXT_PUBLIC_FIREBASE_PROJECT_ID=...
NEXT_PUBLIC_FIREBASE_APP_ID=...
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=...

# Firebase Admin (server)
FIREBASE_SERVICE_ACCOUNT_BASE64=... # base64‑encoded service account JSON

# Stripe
STRIPE_SECRET_KEY=sk_live_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
STRIPE_STARTER_PRICE_ID=price_...
STRIPE_PRO_PRICE_ID=price_...

# NextAuth
NEXTAUTH_URL=https://your-domain
NEXTAUTH_SECRET=your-secure-random-string
  1. Open your project in Vercel
  2. Go to Settings β†’ Environment Variables
  3. Add each variable above for the Production environment
  4. Redeploy to apply changes

Method 2: Vercel CLI​

cd apps/web
vercel env add FIREBASE_SERVICE_ACCOUNT_BASE64 production
vercel env add STRIPE_SECRET_KEY production
vercel env add NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY production
vercel env add STRIPE_WEBHOOK_SECRET production
vercel env add STRIPE_STARTER_PRICE_ID production
vercel env add STRIPE_PRO_PRICE_ID production
vercel env add NEXTAUTH_URL production
vercel env add NEXTAUTH_SECRET production
# Repeat for Firebase client vars

After adding variables​

  • Trigger a new deployment (push a commit or redeploy in Vercel)
  • Verify /api/debug-env shows expected env presence

Tip: Never commit real secrets to the repo; use placeholders in docs and store real values only in Vercel.