Heroku didn't just stop shipping features in February. Its replacement platform generation quietly dropped Docker deploys entirely — so if your app ships as a container, staying put isn't standing still, it's standing on a generation Heroku itself has moved past. That makes this week's first price-verified, Docker-specific Heroku-alternatives ranking worth taking seriously, and worth checking the math on.
On September 15, Suga published Best Heroku alternatives for Docker workloads in 2026, comparing seven platforms — Suga, Railway, Render, Northflank, Fly.io, DigitalOcean App Platform, and Google Cloud Run — with pricing and features verified that same week. The Docker-workload framing is the right lens: Dockerfile-native deploys, registry integration, and non-HTTP traffic behave very differently across these platforms, and generic "Heroku alternatives" lists blur exactly those differences.
But a ranking with seven pricing models is hard to compare at a glance. So I priced the same reference Docker stack on all seven, plus a self-hosted baseline — and found the headline numbers hide a 10x spread, most of it in one line item.
The same Docker stack, priced eight ways
The reference stack mirrors the Heroku baseline Suga's guide uses (two dynos, Postgres, Redis): a web service (1 vCPU, 1 GB RAM), a worker (0.5 vCPU, 512 MB), Postgres (0.5 vCPU, 1 GB RAM, 20 GB disk), Redis (0.25 vCPU, 256 MB), all always-on, with 100 GB of monthly egress. Rates below are the guide's September 15-verified numbers; the last column shows what happens when egress grows to 1 TB, because that is the variable that decides this comparison.
| Platform | Same-stack $/mo | At 1 TB egress | Basis |
|---|---|---|---|
| Heroku (what you leave) | $115 | n/a | Guide's baseline: 2 Standard-1X dynos, Standard-0 Postgres, Premium-0 KV |
| Suga | ~$107 | ~$215 | Metered compute + $0.12/GB egress, Pro seat netted against credits |
| Railway | ~$79 | ~$124 | Metered compute + $0.05/GB egress, Pro workspace netted |
| Render | $30 floor | Overage separate | Starter web + worker + Postgres + Key Value; Standard prod tiers run 2–3x this |
| Northflank | ~$44 compute | Rate not listed | $0.01667/vCPU-hr + $0.00833/GB-hr, before storage and addon fees |
| Fly.io | ~$50 | ~$68–158 | 1 perf + shared-CPU mix, 20 GB volume, region-dependent $0.02–0.12/GB egress |
| DigitalOcean App Platform | ~$37+ | Allowance incl. | $25 web + $5 worker + $7 dev Postgres; Redis extra |
| Google Cloud Run | ~$125+ compute | GCP egress on top | Instance-based billing; Cloud SQL and Memorystore billed separately |
| Self-hosted, 2x Hetzner CX23 | ~$12 | ~$12 | ~€5.49/box, 20 TB transfer included; ops time not included |
Three things stand out. First, the managed field spans roughly $30 to $125+ for identical containers — the pricing model (bundled tiers vs. per-second meters vs. request billing) matters more than any single rate. Second, egress is the swing vote: at 1 TB it roughly doubles the Suga and Railway bills while the self-hosted row doesn't move, because Hetzner bundles 20 TB of transfer into a €5.49 box. Third, every "from" price in the table deserves suspicion — Render's $30 floor is Starter tiers, and Cloud Run's compute line excludes the stateful services a Heroku-shaped stack can't live without.
What the Docker-native lens gets right
Generic alternatives lists compare buildpacks, dyno equivalents, and free tiers. The Docker framing surfaces the criteria that actually decide a container migration:
- Dockerfile-native deploys. All seven accept a Dockerfile, but the depth differs: Fly.io and Cloud Run are image-first (a container is the unit), while Render and DigitalOcean are buildpack-first with Dockerfile as the escape hatch for less-common runtimes. If your repo already has a tuned multi-stage Dockerfile, image-first platforms preserve that investment.
- Registry and image integration. Deploying a prebuilt image from a registry — rather than pushing source and letting the platform build — matters for teams with existing CI. Suga, Railway, Render, Northflank, Fly.io, and Cloud Run all support it; it's the Docker-workload table stakes the ranking correctly treats as given.
- Non-HTTP traffic. Heroku never supported raw TCP, and sustaining mode means it never will. Suga (TCP on arbitrary ports), Railway (TCP proxy), Northflank (Kubernetes networking), and Fly.io (TCP/UDP to microVMs) all clear a bar Heroku can't — decisive if you run MQTT, WebSockets-heavy services, game servers, or custom protocols.
- Stateful sidecars on the private network. The Heroku shape is web plus worker plus Postgres plus Redis, wired together. Suga's environment canvas, Railway's project services with
${{Postgres.DATABASE_URL}}references, Render's managed Postgres and Key Value, and Northflank's addon projects all reproduce that shape; Cloud Run deliberately doesn't (state lives in Cloud SQL and Memorystore), and Fly.io makes Postgres and Redis a manual provisioning step. - Container-size pricing cliffs. Per-second metering (Railway, Northflank, Suga) bills your actual container sizes; bundled tiers (Render Starter vs. Standard, DO's fixed containers) force you onto the next step the moment one container outgrows its box. The guide's per-platform rates make that cliff visible for the first time in one place.
Where the ranking stops short
A vendor-authored ranking verified three days ago is still a vendor-authored ranking. Four gaps matter before you treat it as a shortlist:
- Every ranked option rents the meter. Six of the seven run your containers on infrastructure you never see a bill of materials for; only Northflank offers bring-your-own-cloud on self-service plans (Suga reserves it for Enterprise). There is no self-hosted row — no Coolify-on-a-VPS, no Cluster-API fleet, no "what if the box were yours" math. For Docker workloads, which are portable by construction, that omission flatters every entry.
- The floors aren't production. Render's $30 stack is Starter tiers with smaller build resources and no zero-downtime deploys on disk-attached services; DigitalOcean's $37 needs a Redis line added. Entry prices are real, but a production cutover budgets the Standard tier, not the floor.
- Cloud Run's asterisk is doing heavy lifting. Custom-domain mapping is still a Preview feature Google doesn't recommend for production, per-PR previews live in separate tooling, and request-based billing punishes minimum-instances. It's the cheapest platform in the ranking for spiky traffic and one of the priciest for an always-on Heroku-shaped stack — the guide says this, but skimmers will miss it.
- Buildpacks vs. Dockerfiles is a fork, not a detail. Heroku's own future makes this urgent: Docker image deploys are not supported on Fir-generation apps — the Container Registry remains Cedar-only. If you're on Heroku's container stack, you cannot migrate to Fir at all. The ranking ranks Docker destinations without quite saying the quiet part: Heroku already voted against Docker on its own next generation.
The missing eighth row: the same stack on owned hardware
Docker workloads are the easiest kind to repatriate, because the artifact doesn't change — the same image that runs on Railway runs on your own box. So what does the reference stack cost when the meter is a flat monthly invoice?
Two Hetzner CX23 cloud servers (2 shared vCPU, 4 GB RAM, 40 GB NVMe each, currently ~€5.49/month apiece) hold the full stack with app and data separated: roughly $12/month all-in, with 20 TB of included transfer making the egress-sensitivity column read $0 at any realistic volume. A single box even fits in a pinch, and stepping up to dedicated-vCPU plans still lands under half the cheapest managed meter.
The honest accounting cuts both ways. The $12 covers hardware, power, and bandwidth — not the hours to set up the box, not managed Postgres point-in-time recovery, not somebody else's pager. Managed platforms sell freedom from operations; self-hosting sells freedom from meters. The table above just makes the exchange rate explicit: at 100 GB egress you're trading ~$30–115/month of managed margin for your own ops time, and every additional terabyte of egress widens the gap by $45–108/month on the metered platforms while the owned row stays flat.
That exchange rate is exactly why the "alternatives" framing deserves a second question after "which managed platform": whether this particular Docker workload — portable, stateless except for two well-understood sidecars — is the kind you'd ever need to rent by the second at all.
Which one to pick for your Docker workload
No single entry replaces Heroku for every shape. Match the platform to the workload, not the brand:
| If your workload looks like… | Shortlist |
|---|---|
| Heroku-shaped: web + worker + Postgres + Redis on one private net | Suga, Railway |
| Procfile web/worker/scheduler with the stack defined in-repo | Render (render.yaml Blueprints) |
| Kubernetes-native, per-millicore sizing, GPUs on the horizon | Northflank |
| Global edge, MQTT/WebRTC/game traffic, microVM isolation | Fly.io |
| Already on DigitalOcean (VPC, managed DBs, Spaces) | DigitalOcean App Platform |
| GCP-native, spiky HTTP, scale-to-zero | Google Cloud Run |
| Flat bill, owned hardware, no per-seat meters | Self-hosted on your own machines |
Two meta-points from the guide are worth keeping regardless of your pick. First, verify pricing the week you decide — Suga's September 15 verification date is a feature other rankings should copy, because these rate cards move quarterly. Second, if an AI agent will operate whatever you choose, check for a structured control plane (Suga's MCP server, Fly's Machines API, Render's Blueprints, or plain Kubernetes manifests) rather than a dashboard your agent has to click through.
The post-Heroku field, priced honestly
Heroku's sustaining-mode announcement in February 2026 ended the "should we leave" debate for Docker teams; Fir dropping container deploys ended the "maybe we wait" debate too. Suga's ranking is the best current map of where to go — Docker-specific, price-verified, honest about each platform's shape. Its blind spot is the row it can't sell: the same containers on hardware you own, where the bill is flat, the egress is included, and the only meter is your own time.
Run your own stack through the table before you sign anything. If the metered total makes you flinch, price the eighth row.
Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own. Star the repo on GitHub or deploy your first app today.



