Deploying Shelfie to shelfiebook.com
One-time setup
Vercel
- https://vercel.com -> Sign in with GitHub (
ERoske).
- Add New -> Project, import
ERoske/shelfie from the GitHub list.
- Framework: Next.js (auto-detected). Root directory: leave blank.
- 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-...>
- Click Deploy. Wait for the first build. Vercel gives you a
*.vercel.app URL. Verify /library loads.
Domain
- Domains tab in the Vercel project. Add
shelfiebook.com and www.shelfiebook.com.
- 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.
- Copy those into your registrar's DNS panel. Propagation: 5-30 minutes.
- Vercel issues SSL automatically once DNS resolves.
Supabase site URL
- Supabase dashboard -> Authentication -> URL Configuration.
- Set Site URL to
https://shelfiebook.com.
- Add
https://shelfiebook.com/auth/callback to Redirect URLs.
- Save.
Per-deploy
- Push to
main -> Vercel auto-deploys.
- Roll back: Vercel Deployments tab -> previous deploy -> Promote to Production.
- Logs: Vercel Logs tab.
Database migrations
- New SQL files in
supabase/migrations/ are not auto-applied by Vercel. Run locally:npm run migrate
- After a successful migration, push the SQL file. The migration runner records what's applied in
public._migrations so re-running is safe.
Pre-launch checklist