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
Method 1: Vercel dashboard (recommended)β
- Open your project in Vercel
- Go to Settings β Environment Variables
- Add each variable above for the Production environment
- 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-envshows expected env presence
Tip: Never commit real secrets to the repo; use placeholders in docs and store real values only in Vercel.