Deploying Shelfie to shelfiebook.com

One-time setup

Vercel

  1. https://vercel.com -> Sign in with GitHub (ERoske).
  2. Add New -> Project, import ERoske/shelfie from the GitHub list.
  3. Framework: Next.js (auto-detected). Root directory: leave blank.
  4. Environment variables (Project Settings -> Environment Variables, all three environments):
    • SHELFIE_DB_MODE=supabase
    • NEXT_PUBLIC_SUPABASE_URL=https://wvuctaabeoncnptuourd.supabase.co
    • NEXT_PUBLIC_SUPABASE_ANON_KEY=<anon JWT>
    • SUPABASE_SERVICE_ROLE=<service_role JWT> (server-only)
    • SUPABASE_DB_URL=postgresql://postgres.wvuctaabeoncnptuourd:<password>@aws-1-us-east-1.pooler.supabase.com:6543/postgres (server-only)
    • ANTHROPIC_API_KEY=<sk-ant-...>
  5. Click Deploy. Wait for the first build. Vercel gives you a *.vercel.app URL. Verify /library loads.

Domain

  1. Domains tab in the Vercel project. Add shelfiebook.com and www.shelfiebook.com.
  2. Vercel shows the DNS records you need:
    • A record on apex shelfiebook.com pointing to 76.76.21.21 (or the IP Vercel shows).
    • CNAME record on www pointing to cname.vercel-dns.com.
  3. Copy those into your registrar's DNS panel. Propagation: 5-30 minutes.
  4. Vercel issues SSL automatically once DNS resolves.

Supabase site URL

  1. Supabase dashboard -> Authentication -> URL Configuration.
  2. Set Site URL to https://shelfiebook.com.
  3. Add https://shelfiebook.com/auth/callback to Redirect URLs.
  4. Save.

Per-deploy

Database migrations

Pre-launch checklist