Skip to content

Deploy to GitHub Pages

Site URL
Web dashboard https://fasterapiweb.github.io/laughing-chainsaw/
Documentation (MkDocs) https://fasterapiweb.github.io/laughing-chainsaw/docs/

One-time GitHub setup

  1. Repo → SettingsPages
  2. Source: GitHub Actions (not “Deploy from branch”)

  3. Repo → SettingsSecrets and variablesActionsVariables tab → New repository variable:

Name Value
NEXT_PUBLIC_SUPABASE_URL https://YOUR_REF.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY anon key from Supabase dashboard

Use the same values as backend/supabase/.env (never commit those files).

  1. SupabaseAuthenticationURL Configuration:
  2. Site URL: https://fasterapiweb.github.io/laughing-chainsaw/
  3. Redirect URLs: add https://fasterapiweb.github.io/laughing-chainsaw/**

  4. For local dev, keep separate URLs:

  5. Site URL can stay http://localhost:3000 while developing locally
  6. Production users hit GitHub Pages — add both redirect URLs if you use email confirm

Deploy

Push to main — workflow .github/workflows/deploy-pages.yml builds the web app and MkDocs docs into one Pages artifact.

Manual trigger: ActionsDeploy PagesRun workflow.

Verify

  1. Actions tab shows green build
  2. Open https://fasterapiweb.github.io/laughing-chainsaw/
  3. Sign up / log in
  4. Import data → SettingsSync Now
  5. Check Supabase Table Editor for new rows

Troubleshooting

Issue Fix
Build fails on pnpm Ensure pnpm-lock.yaml is committed
Auth works locally but not on Pages Add Pages URL to Supabase redirect URLs
Cloud sync disabled on Pages Set GitHub Actions variables (step 2)
404 on routes basePath is /laughing-chainsaw — use full path URLs

See also SETUP_CLOUD.md for Supabase + sync setup.