2026-09-01

Self-hosted Heroku alternatives in 2026, from someone running one

The category most of these guides blur, plus what I can tell you first-hand about Coolify and what I am not going to pretend to know.

Search for a Heroku alternative and most of what comes back is still 2022 and 2023 content written during the free-tier shutdown. Its answer is almost always Railway, Render or Fly.io. That advice has aged in a specific way, and there is a distinction underneath it that hardly anyone makes explicit.

The distinction most guides skip

Railway, Render and Fly.io are not self-hosted. They are managed platforms. You hand your app to a vendor, and the vendor sets the price. That is a perfectly reasonable thing to want, and if it is what you want you should stop reading and go use Railway, which is the smoothest Heroku migration of the three.

Self-hosted means you own the server. Coolify, Dokku and CapRover sit in that category. The trade is not really features, it is who carries the operational risk and who controls the pricing. People searching "self-hosted Heroku alternative" usually mean the second category and get recommended the first.

What I actually run, and what I do not

I run Coolify v4 in production on a small VPS, hosting real client sites. Everything below about Coolify comes from that. I have not run Dokku or CapRover in production, so I am not going to give you invented RAM figures and maintenance opinions about them dressed up as experience. Plenty of articles will. That is exactly why those articles are not worth much.

The short honest version of the other two: Dokku is CLI-only and natively Heroku-buildpack compatible, so an existing Procfile works, and it is the lighter option. CapRover has a web UI and a one-click app store. Both are real projects. I cannot tell you how they behave under load because I have not put them there.

Coolify notes worth having before you start

These are the things I would want told to me, none of which are on the product page.

The one that actually costs people data

Set up backups yourself on day one, and verify them by restoring one.

Coolify has a scheduled-backup tab. For a Postgres running inside a compose stack, it can report Success while uploading nothing at all. I found that out because a signed client agreement promised daily offsite backups and they were not in the bucket. Run your own pg_dump to your own object storage, then actually restore it once before you promise anybody anything. An untested backup is not a backup.

How to choose

The reason I self-host is not that it is cheaper, although it is. It is that the bill does not grow every time I start something new, and I would rather understand the whole stack I put client work on. If your project count is low and your time is scarce, that maths does not work out in self-hosting's favour, and you should not let anyone tell you otherwise.

Have Emsden Studio fix it for you, from A$149

More guides

All guides