environment: staging
Everything is configured
Nothing is outstanding. Delete this page whenever you like — it is copied source.
Database
DATABASE_URLsetEverything that reads or writes data.
DATABASE_URL_UNPOOLEDsetMigrations (pnpm db:migrate) and pnpm db:studio.
Sign-in
CLERK_SECRET_KEYsetSigning in, and every permission check.
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEYsetThe sign-in and sign-up UI.
CLERK_WEBHOOK_SIGNING_SECRETnot setKeeping the local user row in step with Clerk. Not needed on localhost. — dashboard.clerk.com → Configure → Webhooks
Payments
STRIPE_SECRET_KEYnot setCheckout, subscriptions and the webhook ledger. — dashboard.stripe.com → Developers → API keys (Test mode ON)
STRIPE_WEBHOOK_SECRETnot setVerifying Stripe webhooks. Printed by `stripe listen` on its first line. — run `pnpm dev` — the Stripe CLI prints it
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEYnot setStripe Elements in the browser. — dashboard.stripe.com → Developers → API keys
Error tracking
SENTRY_DSNnot setForwarding to Sentry. Errors are recorded in error_log and listed under Admin either way. — sentry.io → your project → Settings → Client Keys (DSN)
Rate limiting
UPSTASH_REDIS_REST_URLnot setRate limits shared between instances. Without it each process counts alone, so a fleet allows N times the limit. — console.upstash.com → your database → REST API → the https:// url, not the redis:// one
UPSTASH_REDIS_REST_TOKENnot setThe other half of the shared rate-limit store. — console.upstash.com → the same panel → REST token
server
NODE_ENVsetLOG_LEVELnot setBOOTSTRAP_ADMIN_EMAILset
client
NEXT_PUBLIC_APP_URLset