Back to admin
JJANAK STUDIOSECURE ADMIN SETUP
ONE-TIME CONNECTION

Connect your website.

Complete these steps in your own Supabase and Vercel dashboards. This guide never asks you to paste credentials or passwords into this page.

  1. 01

    Create your Supabase project

    Create or open Janak’s project, then copy its project URL and publishable (or anon) key from the Supabase project settings.

    Open Supabase dashboard
  2. 02

    Prepare the portfolio database

    In the Supabase SQL Editor, run the repository schema file supabase/schema.sql. It creates the content tables, access policies, and one-time admin claim function.

    Keep public sign-ups disabled. The first owner is created through the protected setup flow.
  3. 03

    Add the server and browser settings to Vercel

    Open the Janak project’s environment settings and add these names for Production. Use the Supabase URL/key and a server-only Supabase secret key. Generate the one-time setup code locally with openssl rand -hex 32.

    NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SECRET_KEYPORTFOLIO_ADMIN_SETUP_CODE
    Never prefix the Supabase secret or setup code with NEXT_PUBLIC_. Never put their values in source code, a browser form, or chat.Open Janak’s Vercel environment settings
  4. 04

    Redeploy, then create the owner account

    Redeploy after saving the variables. Return here and open the admin page; the first-admin option appears when the server setup is ready. Enter the owner email, a new unique password, and the one-time setup code directly in the secure form.

    Continue to secure admin setup
  5. 05

    Close the bootstrap window

    After the first admin account is created, remove SUPABASE_SECRET_KEY and PORTFOLIO_ADMIN_SETUP_CODE from Vercel and redeploy. These bootstrap secrets are not needed for regular sign-in or editing.

    Content editing is restricted by Supabase row-level security to registered portfolio admins.