Leaving Managed Hosting
Vercel, Heroku, Render, Forge, Coolify — what breaks and what doesn't.
Migrate without flipping DNS first
The golden rule: bring up the new deployment on a subdomain (new.example.com) and run both sides in parallel for a week. Only after you have tested every flow on the new box do you flip the apex A record. That way, rollback is "revert the DNS change" — 30 seconds, not 30 hours. If you flip DNS first and something breaks, you are debugging in production with customers watching.
Vercel → VPS
Vercel abstracts everything. The migration cost is that you now own what Vercel was doing silently: the reverse proxy (Traefik), the CDN (Cloudflare free tier fills this), the preview environments (a Compose profile per branch), and the KV/cron/blob addons (self-hosted Redis, a cron container, MinIO or B2). For a plain Next.js app with no serverless functions, migration is a Dockerfile plus a Compose file. For a heavy app/ router project with lots of middleware, plan a weekend.
Heroku → VPS
Heroku is the cleanest migration in this list because the Procfile already assumes a long-running process — no serverless primitives to port. Dump the Heroku Postgres database with heroku pg:backups:capture && heroku pg:backups:download, restore into your new Postgres container, translate the Procfile into a Compose service, and port config vars to .env. Heroku's routing is terminated at their load balancer, so trust proxy headers work identically with Traefik. Most Heroku apps migrate in an afternoon.
Render / Railway / Fly.io → VPS
All three are "here is your Docker image, we run it for you". The migration is almost free: you already have a Dockerfile. Pull the image, recreate the env vars, add it to your Compose file, done. The thing that bites people is egress bandwidth — Render and Fly include generous allowances, and a self-hosted VPS on Hetzner also has generous bandwidth (20 TB/mo) but DigitalOcean does not (1–4 TB/mo). Check your current usage before you pick a provider.
Forge / RunCloud / Coolify / Dokploy → Server Compass
These are all server management panels like Server Compass. The migration is almost always lateral: same Docker-based deployments, same Compose under the hood, just a different UI wrapping it. Export your env vars, point the new panel at the same VPS (or a fresh one), and redeploy. No app code changes. The one gotcha is panel-specific config like Coolify's custom proxy rules or Forge's Nginx snippets — export those as plain config before switching so you have a reference.
Key takeaways
- Never flip DNS until the new box has passed full end-to-end testing
- Vercel is the highest migration cost; Heroku is the cleanest
- Most Render/Railway/Fly apps migrate in an afternoon — you already have a Dockerfile
- Panel-to-panel migrations (Forge, Coolify, Dokploy) are lateral, not disruptive
Related documentation
Migrating from Other Platforms
Migrate apps from RunCloud, Coolify, CapRover, Laravel Forge, and other platforms.
Deploying from GitHub Repository
Deploy your own applications directly from GitHub with automatic framework detection.
Deploying Apps with Templates
Use pre-built templates to deploy databases, CMS platforms, and development tools in one click.