Configuration status
Shows only whether each variable is present on the server. Values are never displayed.
- Present
NEXT_PUBLIC_SUPABASE_URLSupabase project URL used by browser and server clients - Present
NEXT_PUBLIC_SUPABASE_ANON_KEYPublic anon key; all access is constrained by row-level security - Missing
NEXT_PUBLIC_DEV_SUPABASE_REDIRECT_URLPreview only: v0 redirect proxy for sign-up confirmation links. Absent in production, where the app uses <origin>/auth/callback - Present
POSTGRES_URL_NON_POOLINGOperator scripts only: migrations, school bootstrap, content import. Direct (non-pooled) database connection - Present
SUPABASE_SERVICE_ROLE_KEYOperator test scripts only (creates and deletes synthetic users). Never imported by app code or sent to the browser
Supabase authentication URLs
These are set in the Supabase project's Auth URL configuration. This page cannot read them.
- Site URL (production, intended)
https://cs.educator.todayThe default base for email links when no redirect is supplied. Only one Site URL exists.- Redirect URL allowlist (production)
https://cs.educator.today/auth/callbackThe app requests this exact callback; Supabase rejects any redirect not on the allowlist.- Preview callback (v0)
- The value of
NEXT_PUBLIC_DEV_SUPABASE_REDIRECT_URL, which forwards to this preview's/auth/callback. It is separate from the production entries and should not become the Site URL.
Operator commands
Run these from the project root. The package scripts load .env.local locally or /vercel/share/.env.project in the v0 sandbox; both supply POSTGRES_URL_NON_POOLING.
pnpm db:migrate pnpm db:bootstrap-school --slug <slug> --name "<School name>" \ --admin-email <confirmed-email> --timezone <IANA zone>
The administrator must already have signed up and confirmed their email. See SETUP.md for the full sequence.