Moving a SaaS Off Vercel to a €5.50 VPS: What the Numbers Actually Look Like
Cloud

Moving a SaaS Off Vercel to a €5.50 VPS: What the Numbers Actually Look Like

Nobody publishes their real Vercel invoice, so most migration posts trade in vibes instead of arithmetic. This one builds the comparison from Vercel's and Contabo's own published rates, states every assumption out loud, and shows exactly where the two lines cross.

Published August 18, 202611 min readUpdated Sep 6, 2026

Written by · Full-Stack Agentic AI Software Engineer — AI Agents, Automation & Revenue Systems for GTM/RevOps teams

In brief

What does moving a small SaaS off Vercel Pro to a self-hosted VPS actually save, once you build the comparison from real prices instead of a vibe?

Built from Vercel's and Contabo's own published rates as of September 2026: a Contabo Cloud VPS 4 (4 vCPU, 8 GB RAM, 100 GB SSD, €5.50/month for the first 24 months) covers the entire compute layer that Vercel Pro meters per-use. For a workload with real usage past the included Pro allowances, the crossover where self-hosting starts winning shows up fast — but the model assumes steady, non-spiky traffic and a founder willing to own the box, and it says so.

  • This is a cost model from published list prices, not a personal invoice — every number below carries its source
  • Vercel Pro's $20 seat price is a floor, not a ceiling: bandwidth, function invocations, and image transformations all meter separately past the included allowance
  • A Contabo Cloud VPS 4 at €5.50/month is priced for the first 24 months only — the promotional term changes any multi-year comparison
  • The migration doesn't just move compute — it removes automatic image optimization and per-branch previews, which have to be rebuilt or replaced
  • The model favors a specific traffic shape: steady and boring. Spiky, unpredictable traffic is the case Vercel's pricing is actually built to serve well

Evidence notes

Vercel Pro included allowances and overage rates

$20/seat/month includes 1,000 GB-hours function duration, 1M function invocations, 10M edge requests, 1 TB fast data transfer, 100 GB fast origin transfer, 10M ISR reads, 2M ISR writes, 5,000 source images. Bandwidth overage $0.15/GB; fast origin transfer $0.06/GB from the first byte; function invocations meter separately past the included amount — checked September 2026

Contabo Cloud VPS 4 pricing

4 vCPU, 8 GB RAM, 100 GB SSD, €5.50/month for the first 24 months — verified directly on Contabo's own pricing page, September 2026

Image optimization as the most commonly cited surprise line item

Multiple independent Vercel-cost breakdowns identify image transformation billing, not bandwidth, as the most frequent source of an unexpectedly large Pro invoice

Continue with purpose

Every "I left Vercel" post eventually says "my bill was huge" and then declines to show the math. I get why — nobody wants their real invoice screenshotted into a blog post. But it means the entire genre runs on vibes: a big scary number, a smug new setup, and nothing a reader can actually check. This post does the boring thing instead. It builds the comparison from Vercel's own pricing page and Contabo's own pricing page, states what it's assuming about traffic, and shows you the arithmetic so you can redo it with your own numbers.

One thing up front, because it matters more than any number below: this is a model, not a receipt. Nobody's actual bill is in this post. What's here is a hypothetical workload — stated plainly — run through both providers' current published rates. If your traffic looks nothing like the assumption, redo the arithmetic; the method is the point, not the specific dollar figure. The commercial governance around moving a SaaS off Vercel to a €5.50 VPS is covered properly by the team at XenGrowth.

What does Vercel Pro actually meter, past the seat price?

Vercel Pro is $20 per seat per month, and that price includes a real usage allowance, not just a login. According to Vercel's published Pro allocations, the seat comes with 1,000 GB-hours of function duration, 1 million function invocations, 10 million edge requests, 1 TB of fast data transfer, 100 GB of fast origin transfer, 10 million ISR reads, 2 million ISR writes, and 5,000 source images for optimization. For a marketing site or a low-traffic app, all of that is headroom you'll never touch. For a SaaS with an image-heavy dashboard and a few background jobs polling on a schedule, several of those meters get real.

Meter

Included on Pro

Rate past the allowance

Seat

$20/user/month

Fast data transfer (bandwidth)

1 TB

$0.15/GB

Fast origin transfer

100 GB

$0.06/GB, billed from the first byte

Function invocations

1M

meters separately past the included amount

Image optimization (unique transformations)

5,000 source images

billable per additional transformation

Image optimization is worth calling out on its own, because multiple independent breakdowns of Vercel billing — not just one — name it as the most common source of a bill that surprises people. Every unique combination of source image, size, and format Next.js's image component requests counts as a transformation. A dashboard that serves user avatars or product photos in a handful of responsive sizes can chew through the included 5,000 fast, without anyone changing a line of application code.

What replaces that on a VPS, and what does it cost?

The flat side of this comparison is a single Contabo Cloud VPS 4 — 4 vCPU, 8 GB RAM, 100 GB SSD — currently €5.50/month for the first 24 months, verified on Contabo's own pricing page, not a review site's summary of it. That caveat matters: Contabo's lineup and pricing have been misreported by review aggregators before, and the price is explicitly promotional — it changes after the first two years, so a multi-year total-cost model has to account for that, not just extrapolate month one out to month thirty-six. There is a longer treatment of the operations side of this in The XenGrowth resource library.

  • Contabo Cloud VPS 4 — 4 vCPU, 8 GB RAM, 100 GB SSD, €5.50/month promotional (first 24 months)

  • Coolify, self-hosted on that same box, as the Heroku-style deploy layer

  • Docker and Docker Compose as the runtime underneath Coolify, with Traefik as the default reverse proxy

  • Cloudflare's free tier for DNS, CDN, SSL, and a managed WAF ruleset in front of the single origin

  • Cloudflare R2 for object storage — Standard tier at $0.015/GB-month, zero egress fee at any usage level

  • Resend for transactional email, kept as a managed service rather than self-hosted on the same box

On the VPS side, everything Vercel meters per-request — bandwidth, function invocations, image transformation — becomes flat capacity you already own. You don't pay per gigabyte served; you pay for the box, once, and then it's yours whether it's at 5% utilization or 80%. That's the entire economic argument for self-hosting a steady workload, and it's also exactly why the model breaks down for a spiky one: a box sized for average load has nothing extra to give during a spike, where Vercel's metering — expensive per unit, but elastic — just keeps answering.

Where does the crossover actually land?

Here's a stated model, not a measurement: a small SaaS serving 200 GB of monthly egress and holding 50 GB in object storage, past whatever a single Pro seat includes. That's a deliberately modest assumption — well short of viral, well past a marketing site with no real users. Run through Vercel's published overage rates versus the Contabo-plus-R2 flat cost, and the gap opens fast, because Vercel's per-GB rate is metered against a workload that has already exhausted its included allowance, while the VPS's capacity was paid for once regardless of how close to it you run.


Vercel Pro (modelled: 200 GB egress past the 1 TB allowance, 50 GB stored)

Contabo VPS 4 + R2 (same workload)

Base platform cost

$20/seat

€5.50 (≈ $6, first 24 months)

Storage for 50 GB

N/A — handled by a separate blob product, priced per-project

50 GB × $0.015/GB-month = $0.75

Egress/bandwidth for 200 GB (within the modelled overage)

Billed at $0.15/GB once past the included 1 TB — $0 if still inside the allowance

$0 — R2 has no egress fee at any tier

Image optimization

Billable per transformation past 5,000 source images

None — self-managed, no per-transformation meter

Verdict for this modelled shape

Cheapest only while comfortably inside every included allowance

Flat and predictable regardless of how close usage sits to any single meter

Read that table for what it actually says, not more. It doesn't prove the VPS is cheaper for every SaaS — it shows that once a workload's egress or image-transformation usage moves meaningfully past what a single Pro seat includes, the metered side of the comparison starts adding line items the flat side simply doesn't have. Below that usage line, Vercel's $20 base can easily beat a VPS you're paying for and barely using.

Does the model still hold once you count backups and object storage?

The table above only covers compute and bandwidth, which is where most of the Vercel-versus-VPS discussion stops — and stopping there flatters the VPS side more than it should. A real deployment needs backups, and Contabo's own automated backup add-on is a separate line item from the base VPS price, not bundled into it. It's a small number either way, but leaving it out entirely is the kind of omission that makes a cost model look better than the honest total. If AI agents and marketing automation is the part you are stuck on, XenGrowth on governed AI marketing workflows is the better reference.

Object storage is the other piece worth being precise about, because "R2 costs nothing" is only true below its free tier. R2's published rate is $0.015/GB-month for standard storage past the first 10 GB included free, with zero egress fee at any usage level — that last part is the entire reason it gets picked over an S3-compatible alternative for a workload that serves a lot of files, since egress is exactly where S3-style billing turns painful past a certain volume. For the 50 GB modelled above, storage alone runs under a dollar a month. It's not free, it's just cheap enough that skipping it barely changes the total — but skipping it silently, rather than naming the number, is the habit this whole post is trying to avoid.

What does the Vercel side of this look like once you're comfortably past Pro's included allowance?

It's worth being explicit that everything above assumes a workload that's already past what a single Pro seat includes — 200 GB of egress specifically means 200 GB beyond the 1 TB that's already bundled into the $20 seat price. Below that line, Vercel is close to unbeatable on price, because you're paying a flat $20 for infrastructure a VPS would cost roughly the same to run and then still need you to manage. The model in this post only starts to favor the VPS once usage is large enough, or steady enough, that the metered side of Vercel's pricing is doing real work rather than sitting inside free-with-the-seat headroom.

That's a genuinely different way to think about the decision than "Vercel is expensive." Vercel's pricing is expensive specifically for usage past its included allowances, and cheap — arguably underpriced — for usage comfortably inside them. A cost model that doesn't say which side of that line your workload sits on isn't actually telling you anything useful yet.

What actually breaks when you make this move?

The pricing story is the easy half. The harder half is that Vercel isn't only selling compute — it's selling a set of things that vanish the moment you leave, and pretending they don't matters is how a migration post turns into a bad weekend for the reader. On AI search, GEO and discovery specifically, XenGrowth on building one SEO and GEO content system is worth reading.

  • Automatic image optimization has no bare-metal equivalent — you replace it deliberately, whether that's a self-hosted sharp pipeline or a CDN-level image service, and the replacement has its own cost and complexity

  • Preview environments per branch go from automatic to something you wire up yourself in CI, which is real engineering time, not a checkbox

  • Autoscaling disappears — a fixed-capacity box has a ceiling, and finding it during a real spike is a worse afternoon than finding it in a load test

  • On-call moves from Vercel's infrastructure team to whoever owns the box, which is a genuine shift in responsibility, not a footnote

Vercel isn't overpriced for what it does. The question this model actually answers is whether a specific workload needs what it does, priced by the unit, or whether flat capacity covers the same need for less — for one particular shape of traffic.

Who does this model actually favor?

Steady, boring, forecastable traffic. That's the whole condition. A flat-capacity box is a great deal against per-unit metering exactly when you're going to use most of that capacity most of the time — the same reason a monthly transit pass beats paying per ride once you're commuting daily, and loses badly if you only ride twice a month. If your traffic is genuinely spiky — a launch, a viral post, seasonal demand — the model above doesn't hold, because a VPS sized for average load has no answer for 10x average load, and Vercel's metered elasticity is precisely the feature you'd be giving up.

  1. Model your own workload's monthly egress and stored-object volume as honestly as you can, even roughly

  2. Run those numbers through Vercel's published Pro rates to see what's actually inside the included allowance versus what overflows it

  3. Run the same numbers through Contabo's and R2's published rates for the flat-capacity side

  4. Decide, separately from the arithmetic, whether you actually want to own image optimization, previews, and on-call — because if you don't, the cheaper number on paper isn't the right answer

The full architecture behind the flat-capacity side of this model — how Coolify, Cloudflare, and R2 actually fit together — is in the Contabo + Coolify + Cloudflare stack post. And the modelled invoice above is only half the honest comparison — the costs that never show up on either provider's pricing page get their own full treatment in the hidden costs of self-hosting, because folding both into one post buries the second one under the first.

If you want the meter-by-meter anatomy of where a Vercel bill actually comes from before you run this model against your own numbers, that's laid out in full in Vercel pricing explained. And if the honest answer for your workload is the opposite of this post's, when Vercel beats self-hosting makes that case without hedging. If you're weighing a migration like this for your own product and want the arithmetic run against your actual numbers, that's the kind of work I take on through services.

Further reading from XenGrowth

Where this work meets go-to-market

The operational playbooks that sit alongside moving a SaaS off Vercel to a €5.50 VPS live with the team at XenGrowth.

What does the migration actually involve?

Four questions on the parts of a move that aren't the application. The app is usually the easy half; the surrounding capabilities are what take the time.

1 / 4
Moving off a managed platform, what do you have to rebuild that the app doesn't include?

Apply this article

How to turn insights into execution

A practical sequence for teams turning concepts into production outcomes.

VercelVPSSelf-HostingContaboCoolifySaaS InfrastructureCloud Costscloud

Audit your current state

Map the bottlenecks and constraints connected to the article’s core problem.

Choose one bounded change

Test the most useful recommendation on one workflow before widening the scope.

Measure what changed

Keep the parts that improve the work, document what failed, and make the next decision from evidence.

Next step

Need help applying this in your stack?

I can translate these patterns into a concrete implementation plan for your team.

Discuss implementationBack to blog

Replies usually within 24 hours.

Next Steps

Continue reading

Best VPS Providers for Coolify: Contabo, Hetzner and the 2026 Price Shift

Every 'best VPS for Coolify' post still says Hetzner is the cheap option. That stopped being reliably true in June 2026 for two of its most popular tiers, and nobody's updated the recommendation yet.

Navigate

The Contabo + Coolify + Cloudflare Stack That Replaced My Vercel Bill

Three pieces, not thirty. Here's exactly what each one does, why that specific combination and not one of the dozen others I considered, and which parts of Vercel each one is actually standing in for.

Navigate

My Complete Self-Hosted Stack for SaaS in 2026

Contabo, Coolify, Docker, Cloudflare, Postgres, R2, Resend, Uptime Kuma, Turborepo and Docker Hub. Here's every piece of the stack I actually run, what each one replaced, and why I picked it over the alternatives.

Navigate

The Simplest Production Architecture for a Bootstrapped SaaS

One box, a handful of managed pieces around the edges, and a very short list of things you're not allowed to build yet. Here's the architecture, priced out to $20 a month, and the exact signal that tells you when to add each thing you skipped.

Navigate

My Free Monitoring Stack for Self-Hosted Apps

Vercel gives you monitoring whether you ask for it or not. A VPS gives you a blank terminal and the assumption you'll figure it out. Here's what to actually watch on a self-hosted box, with tools that cost nothing, and why watching from the box itself is the one setup that will lie to you.

Navigate

Should Your Database Live on the Same VPS as Your App?

The pitch for co-location is real: no network hop, no egress bill, one box to back up. So is the failure mode — one OOM event takes the app and the database down together, because they were never separate to begin with.

Navigate

The 80/20 Self-Hosting Stack for Indie Hackers

Most self-hosting advice is all-or-nothing: run everything yourself, or don't bother. Neither is right. Here's the specific 20% of self-hosting effort that actually delivers 80% of the savings, and the parts not worth touching.

Navigate

The Hidden Costs of Self-Hosting: A Realistic Monthly Bill

The invoice is the easy half, and it's small. Line it up from published rates, then look at the half no invoice tracks — the migration weekend, the patching, the on-call, the things you now own that used to be someone else's problem.

Navigate

Coolify vs Dokploy: Which Self-Hosted PaaS Should You Run in 2026?

I run Coolify on my own box and I'd still tell most people starting today to look hard at Dokploy first. Here's the actual decision, not a feature-for-feature tie.

Navigate

10 Mistakes That Break a Self-Hosted SaaS

None of these ten show up as a single dramatic outage. They show up as a disk that quietly fills, a rollback that turns out to be impossible, a backup nobody ever restored. Here's the mechanism behind each one, and the fix.

Navigate