Skip to main content

Dokploy and Coolify Stopped Calling Themselves 'Heroku Alternatives.' Here's What That Actually Means

8 min readDora NodaDora Noda
Share
On this page

Open Dokploy's GitHub page today and the tagline reads: "Open Source Alternative to Vercel, Netlify and Heroku." Heroku is there, but it's third, and it's an afterthought — the project markets itself first as a Vercel and Netlify replacement. Coolify, the category's most-starred project at 56,000+ GitHub stars, tells the same story: its docs and landing page speak directly to teams paying per-seat and per-gigabyte on a frontend host, not to backend teams still mourning Heroku's 2022 free-tier shutdown.

That's a real repositioning, not a marketing coat of paint, and it tracks a specific number: a two-developer team on Vercel Pro pays $40/month before any usage; grow to ten people and seats alone run $200/month, before a single request is served. That math — seats plus metered bandwidth — is a different cost shape than anything Heroku ever billed, and it's pulling a different audience toward self-hosting than the one that left Heroku three years ago.

The Sticker Price That Started It

Vercel's Pro plan is $20 per seat per month. A solo developer or a two-person team barely notices. The bill turns predatory exactly when a team scales past a handful of people or a launch goes well — which, for a frontend/Jamstack shop, is the whole point of using the product.

Run the math at a few team sizes:

Team sizeVercel seat cost/monthWhat triggers overage
2 developers$40Nothing yet — comfortably under 1TB bandwidth
5 developers$100First seat-cost jump teams report noticing
8 developers$160Approaching typical mid-size team bandwidth limits
10 developers$200Seats alone, before any usage-based line item

Layer bandwidth on top and the picture gets worse. Vercel's Pro plan includes 1TB of monthly bandwidth, then charges $0.15/GB beyond it — no hard cap, no warning until an automated notice fires at 75% of the limit. That's manageable for steady traffic. It is not manageable for a marketing launch, a viral post, or a scraper that decides your site is interesting: documented community bills include roughly $23,000 after a DDoS, about $3,200 for a spike of attack traffic, and $1,477 after a crawler pulled 8.4TB from an image-heavy site. None of those teams did anything unusual — they just had a bad day on a platform where "bad day" and "bandwidth bill" are the same event.

Netlify saw the same pressure and blinked first. On April 14, 2026, Netlify's CEO published "The end of seats: pricing Netlify for 3 billion builders," killing per-seat pricing on the Pro plan outright — what used to be $20 for one seat plus $20 for every additional teammate is now a flat $20/month with unlimited seats. A competitor doesn't rewrite its entire pricing model in public unless the thing it's defending against is costing it real customers. Netlify's move is the clearest evidence available that the self-hosted alternatives aren't chasing a hypothetical pain point — they're chasing one Netlify itself just admitted was bleeding it.

Two Different Migrations, Two Different Platforms

"Heroku alternative" and "self-hosted Vercel" sound like the same pitch — push code, get a URL — but they're solving for two different teams with two different cost structures, and conflating them is exactly the framing Dokploy and Coolify dropped.

Heroku-era migrant (2022–2023)Vercel/Netlify-era migrant (2025–2026)
What brokeFree-tier dynos shut down; paid dyno pricing felt steep for a single backend servicePer-seat pricing scales with headcount, not usage; bandwidth overage is uncapped and unpredictable
What they runOne or a few long-lived backend processes (API, worker, cron)Framework-detected frontend/full-stack apps (Next.js, Remix, SvelteKit) with many short-lived preview deployments
What they wanted from a replacement"Just run my container somewhere that doesn't sleep it or bill me per dyno-hour""Match the git-push workflow and preview URLs I'm used to, without a bill that scales with team size or a bad day"
What mattered leastPreview environments, edge functions — Heroku never had eitherDyno-style process pricing — irrelevant to a team that never thought in dynos

A backend team fleeing Heroku wanted a cheaper, less opinionated way to keep a process running. A frontend team fleeing Vercel wants the exact workflow it already has — git push, automatic preview URL, framework auto-detection — just without a bill that grows with headcount or a marketing spike. Marketing a single tool as "the Heroku alternative" to both groups undersells what the second, larger group actually needs, which is why the copy changed.

The Footprint Numbers Behind Who's Actually Choosing What

Dokploy and Coolify are the two projects driving this rebrand, and they're not identical — the gap between them tells you something about which part of the Vercel-refugee audience each is chasing.

DokployCoolify
GitHub stars34,000+56,000+
Idle RAM footprint~350MB~500–700MB
Idle CPU footprint~0.8%~5–6%
Minimum practical VPS1–2GB RAM4GB RAM (~$7–14/month)
Preview deploymentsPer-branch, Docker-basedFull-stack per-branch, including a database per preview

Coolify has more stars and a heavier install; Dokploy is newer, lighter, and explicitly pitches its low idle footprint as a differentiator. That split matters more for Vercel refugees than it would have for Heroku ones, because a frontend team's workflow generates many short-lived environments — a preview deploy per pull request, sometimes dozens live at once — where a Heroku-era team ran one persistent dyno indefinitely. Idle footprint multiplied by concurrent preview count is a real cost line for the newer audience in a way it never was for the old one, and it's no accident both projects publish these numbers prominently instead of burying them in a wiki page.

What Vercel Set That Heroku Never Did — and What's Still Missing

The clearest evidence of who these tools are actually chasing isn't in their marketing copy — it's in which Vercel-specific features they've built and which they haven't.

Preview environments, done one better. Vercel's preview URLs only ever covered the frontend; the database and backend still pointed at shared staging or production. Coolify's per-branch previews spin up a full stack, database included, so a pull request gets an isolated environment closer to what a full-stack Jamstack team actually wanted from previews in the first place. That's a real advantage over the platform these projects are positioned against, and it only makes sense as a feature to build if your target user is someone who already lives inside Vercel's preview workflow and wants it done more completely — not someone coming from Heroku, which never had preview environments to improve on.

Edge functions, still unsolved. Coolify has no Edge Middleware runtime equivalent. A team using Vercel's edge functions for auth checks, geolocation routing, or request rewriting has to rewrite that logic as a normal server-side handler before it'll run on a self-hosted alternative — a real migration cost, not a rounding error, and one that Heroku migrants never had to think about because Heroku never shipped an edge runtime either. This is the one piece of the Vercel experience the self-hosted world hasn't caught up to, and it's worth naming plainly rather than waving off, because it's the difference between "drop-in replacement" and "replacement with one specific rewrite."

Put together, the feature list reads exactly like a team optimizing for a Vercel refugee's actual checklist — better previews, framework auto-detection, no per-seat billing — with one deliberate or not-yet-solved gap where edge functions used to be.

What This Means for a Git-Push Platform Built on Owned Hardware

The lesson for any platform pitching itself as a self-hosted deploy target — including Bex.co, the open-source, AI-native Render alternative we work on — is that "Heroku-compatible" is no longer the bar. The audience actively migrating in 2026 is coming from Vercel and Netlify, and it's bringing Vercel's expectations with it: a preview URL per pull request that includes real backend state, not just a rebuilt frontend bundle.

That part is achievable without inventing anything new — a Cluster-API-managed fleet can spin up an ephemeral namespace per PR with its own database, the same shape of full-stack preview Coolify already ships, just running on machines the platform operator owns instead of a shared multi-tenant cloud. The honest gap is the same one Coolify hasn't closed: neither a Cluster-API PaaS nor most self-hosted alternatives ship a V8-isolate edge runtime, so a team whose product genuinely depends on request-time logic running at a CDN edge — not just close to its own backend — still has a real rewrite ahead of it, on any self-hosted platform, not just this one. Anyone building or evaluating a self-hosted deploy target in 2026 should plan for that gap explicitly rather than assume "self-hosted Vercel" means feature parity down to the runtime.


Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own, with per-branch preview deployments on infrastructure you control instead of a per-seat bill that grows with your headcount. Star the repo on GitHub or deploy your first app today.

Related articles

Run this on infrastructure you own

bex is the open-source, AI-native Render alternative — push a git repo and get a running HTTPS service on your own machines.

Get started with bex