Self-hosted is the default — with no env vars set, the app auto-detects self-hosted mode (it only switches to cloud mode when a Clerk publishable key is present). So a plain Vercel import just works.
1
2
Confirm build settings
Vercel should use:
- Install command:
pnpm install - Build command:
cd ../.. && pnpm turbo build --filter=@magic-resume/web - Output directory:
apps/web/.next
pnpm@10.28.1 is in packageManager so Vercel pins the right version.3
Deploy
Click Deploy. That’s it — no environment variables to set. When the build finishes you have a working, local-first Magic Resume.
What self-hosted mode gives you (and doesn’t)
- ✅ Full editor, templates, live preview, PDF export — all client-side.
- ❌ No AI — AI Lab and AI PDF import are proxied to the backend and need a signed-in user, so they don’t work in pure self-hosted mode.
- ❌ No accounts, no cloud sync, no share links, no server-managed AI quota — those need cloud mode.
