Personal site built with Next.js 15.
- Hosting: Vercel
- Database: Supabase Postgres (
content_itemstable) - Admin auth: cookie session signed with
ADMIN_TOKEN_SECRET - Admin password verification: bcrypt hash in
ADMIN_PASSWORD_HASH
- Copy
.env.exampleto.env.localand fill values. - Install dependencies:
npm install
- Apply schema in Supabase SQL editor:
supabase/schema.sql
- Start dev server:
npm run dev
npm run build: production buildnpm run hash:admin-password -- "your-password": generate bcrypt hash for env varnpm run backup:export: exportcontent_itemstobackups/YYYY-MM-DD/content-items.json
- Recovery attempt playbook:
docs/recovery-playbook.md - Monthly restore drill checklist:
docs/restore-drill-checklist.md - Recovered content staging:
recovered-content/README.md