Deployment

One-Click Deploy

Click the Deploy button in the README. Connect GitHub, set env vars, done.

Minimum env vars for a working deploy:

DATABASE_URL=postgresql://...   # Neon, Supabase, Railway, etc.
AUTH_SECRET=...                  # openssl rand -base64 32

Everything else is optional — features auto-enable when their env vars are present.

Manual Deploy

npm install -g vercel
vercel login
vercel deploy

Or push to GitHub with your Vercel project connected — auto-deploys on every push.

Environment Variables

cp .env.example .env.local

See Environment Variables for the full reference.

Add variables to Vercel via dashboard or CLI:

vercel env add DATABASE_URL

Redeploy after adding variables.

Production Checklist

  • DATABASE_URL and AUTH_SECRET set
  • Domain connected (Vercel dashboard → Domains)
  • At least one auth provider configured
  • Payment webhooks pointed to your domain (if using payments)

Multi-Zone Deployment

Run multiple Shipkit instances on different paths under one domain. See the Multi-Zone guide for setup.

Vercel-Specific

  • Preview deployments on every PR
  • AUTH_URL auto-set from VERCEL_URL
  • Use bun run build:vercel for 8GB heap (large projects)

Troubleshooting

ProblemFix
Build failsCheck env vars are set, run bun run typecheck locally
DB connection errorVerify DATABASE_URL, check IP allowlists
OOM during buildUse bun run build:vercel (8GB heap)
Stale featuresEnv vars are build-time — redeploy after changes