Platform cost guide
Move a small app from Vercel to a production VPS
Short answer
The same app running from the same repo on your VPS, with equivalent env vars, domain routing, database connection, logs, backups, and rollback notes.
Why this matters
The app is small, but hosting has turned into usage anxiety: seats, logs, bandwidth, functions, database, analytics, and separate dashboards.
Walkthrough
- 01
Audit the Vercel project before moving
Most bad migrations miss something Vercel was doing automatically. Capture those settings before touching DNS.
- Copy build command, install command, output/start behavior, framework preset, and Node version.
- Export all production environment variables and note which ones are public.
- List rewrites, redirects, cron jobs, image domains, API routes, and external services.
- 02
Create the VPS replacement
Deploy the app on the VPS before changing the production domain. Dokploy is one option for managing deploys; Docker Compose, systemd, or another panel can also work.
- Deploy from the same GitHub repo and branch to a temporary domain first.
- Move env vars carefully and rotate secrets if there is any chance they were exposed.
- Check server logs until build and runtime errors are gone.
- 03
Cut over only after smoke tests pass
The final DNS switch should be boring. Test the VPS version first, then move the domain.
- Test login, forms, database writes, file uploads, payment webhooks, and admin actions.
- Add the final domain in Dokploy and point DNS to the VPS.
- Keep the Vercel deployment alive for rollback until the VPS version is stable.
Where RepoAssistant fits
RepoAssistant moves small Vercel apps to VPS when predictable cost and ownership matter more than platform convenience.