# Liftport vs. the Free Path — When a Community Guide Is Enough, and When It Isn't

> For a single Next.js application with a handful of environment variables and a developer who can follow documentation, migrating from Vercel to Coolify is close to trivial.

Source: https://saascode.ai/inside/liftport-vs-free-community-guides-vercel-to-coolify · Published: 2026-08-09 · Section: comparison · Product: Liftport (https://saascode.ai/products/liftport)

---
For a single Next.js application with a handful of environment variables and a developer who can follow documentation, migrating from Vercel to Coolify is close to trivial. Create a Coolify project, connect the GitHub repository, paste the environment variables, set a health-check path, restore the database, flip the A record. Community walkthroughs cover that flow in detail — they are numerous, current, and accurate about the simple case. That reader should follow one and be done by lunch. This page is for the reader the concession keeps.

**Liftport is a hosting-migration cockpit, sold once as source code.** You deploy it under your own brand and charge clients for the move instead of a monthly platform fee. It inventories what the source platform's API exposes and what it hides, runs a response-diff smoke check against the target VPS before the DNS record moves, and generates a Coolify import artifact alongside the cutover plan. This page compares that against three other ways an operator might acquire the same capability: the free community guide, a commissioned custom build, and running migrations as manual billed service.

---

## Decision guide

| If the requirement is… | The honest answer |
|---|---|
| A single app, one developer, no client waiting for approval | Follow a free community guide — this page said so in the first paragraph |
| The PaaS to run applications on indefinitely after the move | Coolify (self-hosted, $0) or Dokploy Cloud (from $4.50 per server per month, dokploy.com/pricing, 2026-08-07) |
| Server-side SSH that executes the migration steps automatically | Not Liftport v1 — v1 generates artifacts and copy-button commands; direct-SSH is on the roadmap, not shipped |
| A savings move that makes financial sense for a five-person in-allowance Vercel team | Run the arithmetic honestly — the ops-time cost typically erases the invoice saving |
| A cockpit to deploy under your own brand and charge clients per migration | Liftport — [https://liftport.saascode.ai](https://liftport.saascode.ai) · [https://saascode.ai/products/liftport](https://saascode.ai/products/liftport) |

---

## How an operator acquires a migration service

At the owner level, the comparison is not "which migration tool should my client use." It is how to build the capability to offer Vercel-exit migrations to clients, under your own brand, at a margin.

| Path | What the operator gets | Cost shape |
|---|---|---|
| **Manual service — guide + billed labor** | No platform; each migration done personally against a free guide and billed per project | $0 setup; scales only with headcount, no leverage |
| **Commission a custom build** | A tailored cockpit, to spec, owned | Two to four months of senior engineering + ongoing maintenance |
| **Buy Liftport** | Domain-complete cockpit — inventory, smoke check, savings report, Coolify artifact, multi-tenant billing — deploy under your brand | $199 + hosting + provider accounts |

The manual-service path has no product leverage. Each migration is fresh labor. The client does not depend on your software, so they do not depend on you. The custom-build path owns the code but starts from zero on the domain layer: the inventory schema with source-tagging, the smoke-check architecture, the savings-report ledger, the credential vault, and the Coolify artifact generator are each a design project before the first line of product code. Generic boilerplate supplies a multi-tenant billing shell; none of that domain is in it.

---

## Liftport and the free migration path

### What each is

Coolify is a self-hosted PaaS — free forever with no feature restrictions, latest release v4.2.0 published 2026-07-21 (GitHub releases API); Cloud starts at $5 per month for two servers (coolify.io/pricing, 2026-08-07). Coolify is where a Vercel team lands after the move; it is not what makes the move.

No official Vercel-to-Coolify importer appears in Coolify's own documentation. The only migration guide in their tree covers their own v3-to-v4 upgrade. But the community-guide ecosystem fills that gap for a simple app — detailed walkthroughs exist and the six-step flow they describe is reproducible: connect the repo, paste environment variables, configure health-check, restore the database, flip the A record. Saying that flow does not exist would be arguing against a fact, so this page does not.

Liftport is the move itself — a cockpit that handles what those guides leave to the operator's diligence. It connects to Vercel via OAuth and to Netlify or Render via API key, reads the source project's env var names, routes, domains, and build settings from the platform API, and asks the team to attest the values the API will not return. Every env var is tagged by how it was obtained: `api-read`, `user_attested`, or `missing`. From that inventory it generates a cutover plan, a parity smoke check, a Coolify import artifact, and a savings report.

### When the free guide is the right call

One project. One developer who knows the environment variables by memory. No stakeholder waiting for parity evidence before they authorise the DNS flip. No second or third project on the same account that also needs moving. No client on the other end of a support agreement who needs the savings math formatted for a purchase order.

That describes a large share of the people researching this migration. For them, a guide, Coolify, and an afternoon are sufficient. Stating otherwise in the first screen would cost this page the reader it is not written for — and gain nothing.

### When Liftport earns its price

There is a specific problem the guides collectively skip — not because they are careless, but because the simple case does not expose it.

Vercel's API returns environment variable names. It does not return values. Any guide that says "copy your .env" describes a step that is not available through an API call; the values live only in Vercel's own vault. Liftport surfaces the names the API returns, marks them `api-read`, and asks the team to attest values for the rest. Anything still marked `missing` when the inventory closes is a named risk before the cutover, not a surprise after the DNS flip. That is structurally different from a checklist.

The parity smoke check is the second gap. A guide can tell a team to "test the new server before flipping DNS." It cannot run a response diff — comparing HTTP status codes and response bodies from the live Vercel origin against the staging VPS across the manifest routes — and write a verified result the team can attach to a ticket. Liftport's smoke check does, and the cutover screen gates on it.

The third gap is the savings report. "It should be cheaper" is not a figure a finance team approves. A dated ledger with source monthly cost, target monthly cost, monthly savings, annual savings, and payback month — built from attested inputs against published list rates — is. Liftport generates it, stores it in `savings_reports`, and the Pro+ monitoring service uses the same ledger to track cost drift after the migration is complete.

The case for paying over following a free guide is real but narrow: when the failure mode of getting something wrong is downtime, when a stakeholder requires the parity evidence before they will authorise the move, or when there are enough projects on the account that a manual per-project process stops being genuinely free.

### The money

**Vercel Pro** bills at $20 per user per month, as of 2026-08-07 (vercel.com/pricing). The per-seat arithmetic below assumes every team member is billable — verify before building a client savings case on it; Vercel's pricing page does not state this explicitly. At 25 seats the seat line reaches $6,000 per year before a byte of transfer. Above the 1 TB monthly fast-data-transfer allowance, bandwidth overage is $0.15 per GB; a month pushing 5 TB owes $600 in overage on top.

**The per-seat argument applies to Vercel only.** Netlify Pro moved to $20 per month for the whole team with unlimited members as of 2026-04-14 (netlify.com/changelog); Render moved to flat unlimited-seat workspace plans as of 2026-04-23 (render.com/docs/new-workspace-plans). Applying the Vercel seat math to a Netlify or Render bill is wrong and verifiable in one click.

**VPS** options include DigitalOcean from $6 to $96 per month Basic line (digitalocean.com/pricing, 2026-08-07); the $48 tier includes 5 TB. Hetzner from €5.49 per month CX23 after the 2026-06-15 price adjustment (docs.hetzner.com/general/infrastructure-and-availability/price-adjustment/) — some lines rose more than 170% in a single announcement. Any guide written against pre-June 2026 Hetzner pricing quotes numbers that no longer exist.

**Coolify** self-hosted: $0. Cloud: $5 per month for two servers. **Liftport:** $199 — once.

### What the move costs — and when it doesn't add up

The savings case holds in three specific scenarios. Usage-dominated bills: a month pushing 5 TB past Vercel's 1 TB allowance costs $600 in overage; the $48 DigitalOcean droplet includes 5 TB. Vercel seat-dominated teams: at 25 seats, $6,000 per year in seat costs survives moderate ops overhead — Netlify Pro and Render Pro are exempt, so this axis is Vercel-specific. Teams already running server infrastructure: the marginal ops hour is near zero and the invoice saving is the whole story.

Where the savings do not hold: a five-developer team with in-allowance usage saves roughly $500 to $590 per year on the invoice. Two hours of maintenance per month at $75 an hour — a deliberately conservative estimate — costs $1,800. The move loses money the moment anyone's time is priced.

The 37signals cloud exit ($3.2M to ~$1.3M annually, ~$600k capex recouped under 18 months — Data Centre Dynamics and The Register; not read off a 37signals-owned page) is the origin of the conversation. DHH framed the argument for medium-sized companies with stable growth and in-house ops; it does not transfer to a five-person startup.

The move also shifts real responsibilities off the managed host:

- **Edge network and CDN** — a single VPS serves one region; Vercel's edge network is global
- **Preview deploys** — Coolify ships per-PR preview URLs via its GitHub App per third-party migration guides; verify against Coolify's own docs before quoting this to a client
- **Zero-ops patching** — OS updates, Docker, TLS renewal, and the PaaS itself are now yours
- **Backups and on-call** — the customer configures them, tests them, and answers the 3am page
- **Redundancy** — a second box and a load balancer; a single VPS is a single point of failure

---

## Common questions

*Answered honestly, including where the answer is not Liftport.*

**If Coolify is free, why would I pay for a migration tool?**

For a single simple app, you would not — a free community guide and Coolify self-hosted are sufficient, and this page said so in its first paragraph. The purchase case is for operators offering migration services to clients at scale, and for clients whose migration is complex enough that a missed environment variable or an untested configuration means downtime. Coolify is the destination; Liftport inventories the source, proves parity before the DNS record moves, and generates the Coolify import artifact.

**Does Liftport compete with Coolify?**

No. Liftport's plan generator emits a Coolify import artifact — a JSON file the operator loads into Coolify directly. Coolify runs the application after the move. Liftport produces the inventory, runs the parity smoke check, and generates the handoff artifact. They are sequential complements.

**Is it actually cheaper to self-host Next.js than to stay on Vercel in 2026?**

In three cases: usage-dominated bills where Vercel's $0.15/GB overage above 1 TB exceeds the VPS monthly cost; Vercel seat-dominated teams above roughly 15–25 billable seats — Netlify Pro and Render Pro both moved to flat unlimited-member pricing in April 2026 so this is Vercel-specific; and teams already running servers with existing ops capacity. For a five-person team within Vercel's allowances, the saving is roughly $500–590 per year — less than two hours of maintenance at $75 per hour. The savings report shows the arithmetic both ways, including the case where staying is the right call.

**What does Liftport do that a free community guide doesn't?**

Three things. Inventory: Vercel's API returns env var names, not values; Liftport tags each `api-read`, `user_attested`, or `missing` and gates migration on completeness. Parity proof: a response diff between the production Vercel origin and the staging VPS, run against the manifest routes, written to a verified record before DNS moves. Savings report: a dated, sourced ledger formatted for finance, including the case where the arithmetic says to stay.

**Does Liftport perform the migration, or does someone run the commands?**

Someone runs the commands. v1 generates the cutover plan with copy-button steps at the cutover screen — no server-side SSH. Direct-SSH and an automated VPS agent are on the roadmap as a future consideration. The cockpit plans, inventories, proves parity, and generates the Coolify import artifact; the operator or client executes the steps.

**At what team size or usage level does leaving Vercel start to make invoice sense?**

For Vercel seat costs: materially above 10–15 billable seats. At 25 seats, $6,000 per year before transfer survives moderate ops overhead. For usage: any month where Vercel's bandwidth overage exceeds the monthly VPS cost — the $48 DigitalOcean droplet includes 5 TB; Vercel's overage on the same 5 TB is $600. Both figures read from published pricing pages with no secondary assumptions. Netlify Pro and Render Pro are not on the per-seat axis.

## Related reading

- [Leaving a Managed Host in 2026: What You Hold When You Reach the Other Side](https://saascode.ai/inside/leaving-a-managed-host-in-2026-what-you-hold-when-you-reach.md)
- [Liftport: a guided exit from managed hosting, with the savings math shown](https://saascode.ai/inside/road-to-liftport.md)
