You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Commerce works without AI keys; Concierge degrades gracefully.
Checkout
Variable
Purpose
CHECKOUT_ENDPOINT
Trusted external checkout gateway URL (advanced)
NEXT_PUBLIC_E2E_MOCK_CHECKOUT
Set to 1 for E2E only — shows Mock Pay (E2E) in StripeCheckoutForm. Set by npm run dev:e2e and scripts/run-checkout-smoke.sh. Never enable in production.
Build / deploy
Variable
Purpose
FIREBASE_DEPLOY=1
Set by npm run build:deploy for hosting builds
NEXT_TELEMETRY_DISABLED=1
Disable Next telemetry (scripts set this)
Legacy / seed tooling
Variable
Notes
SQLITE_DATABASE_PATH
Legacy reference in .env.example — runtime commerce uses Firestore
Do not point production at SQLite; ignore unless working on legacy seed scripts.
Environment matrix
Variable
Local dev
Production
Client visible
SESSION_SECRET
Required
Required unique
No
FIREBASE_SERVICE_ACCOUNT_JSON
Required
Required
No
NEXT_PUBLIC_FIREBASE_*
Required
Required
Yes
STRIPE_SECRET_KEY
Test key
Live key
No
STRIPE_WEBHOOK_SECRET
From stripe listen
From Dashboard
No
SYSTEM_JOB_TOKEN
Optional locally
Required for cron
No
GEMINI_API_KEY
Optional
Optional
No
ALLOW_PRODUCTION_SEEDING
false
false
No
Security rules
Never commit .env with live secrets (use placeholders in .env.example only)