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_URLandAUTH_SECRETset - 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_URLauto-set fromVERCEL_URL- Use
bun run build:vercelfor 8GB heap (large projects)
Troubleshooting
| Problem | Fix |
|---|---|
| Build fails | Check env vars are set, run bun run typecheck locally |
| DB connection error | Verify DATABASE_URL, check IP allowlists |
| OOM during build | Use bun run build:vercel (8GB heap) |
| Stale features | Env vars are build-time — redeploy after changes |