Heroku alternatives for small apps: a deploy target, or your machine back
All prices in this article are as of 30 July 2026 and come from each vendor's own pricing page or documentation, linked at the point of the claim. Nothing here is a benchmark or a synthetic test; it is a reading of what each platform publishes, plus the operational cost that does not appear on a pricing page. Where boxd loses, the article says so.
Heroku has no free dyno tier. The current pricing starts at Eco for $5/month, which "sleeps after 30 minutes of inactivity," then Basic at $7/month, Standard-1X at $25 and Standard-2X at $50. Heroku Postgres starts at $5/month for the 1 GB Essential-0 plan, so a small app with a database is realistically $10 to $12/month before you have done anything interesting.
That is not outrageous for what it is. Heroku's actual product was never the dyno, it was that git push heroku main worked and you never thought about a server again. The question worth answering is whether you still want that trade, and for a lot of small apps the answer is no.
Four shapes, not ten vendors
Every comparison of this category gets muddy because it lists products that are not substitutes for each other. Sort by shape first.
Shape A: a deploy target. You push code, the platform builds and runs it. You never see the machine. Heroku, Render, Railway, Fly.io.
Shape B: a machine. You rent Linux and root. You install what you like and you keep it running. DigitalOcean, Hetzner, and boxd.
Shape C: a machine with a platform layer. Shape B plus software that gives you shape A's workflow on hardware you rent. Coolify, Dokploy.
Shape D: functions. Stateless handlers, no persistent process. Lambda, Vercel Functions, Cloudflare Workers.
Almost all the disappointment in this category comes from picking a shape that does not match what you were doing on Heroku. Someone whose app is a long-running worker with a SQLite file will hate shape D no matter which vendor they choose.
Shape A: the direct replacements
If the git-push workflow is the thing you want back, these are the closest and you should take one.
Render. The free web service tier is the well-known catch: Render's docs say a free web service "spins down" after "15 minutes without receiving any inbound traffic," and the restart "takes about one minute." A minute of cold start is fine for a hobby project and disqualifying for a webhook receiver or anything a user is waiting on. Paid instances do not spin down.
Railway. Railway is subscription plus metered usage. Hobby is $5/month and includes $5 of resource usage; Pro is $20/month including $20 of usage. Resources bill at $10/GB/month for RAM, $20/vCPU/month for CPU, $0.15/GB/month for volumes and $0.05/GB egress. New trial accounts get a one-time $5 grant. The model is honest and predictable, and the metering means a mostly-idle app genuinely costs less than a busy one.
Fly.io. Worth calling out because its pricing is the closest thing in shape A to what small software actually wants: a stopped Machine is not billed for compute. You pay $0.15 per GB per 30 days for the rootfs of a stopped Machine, volumes are $0.15/GB/month and are billed even while the Machine is stopped, and a dedicated IPv4 is $2/month. If your app can tolerate a start on first request, the bill tracks usage closely.
All three do the thing Heroku did. If that is what you are shopping for, this is where the article ends for you, and there is no version of the argument below where we are a better answer to "I want to push code and get a URL."
Shape B: getting the machine back
The other reason people leave Heroku is the opposite of convenience. The app outgrew the abstraction, or never fitted it. It wants a real filesystem, or a background process that runs for an hour, or a binary that is not in a buildpack, or three services that would be silly as three dynos.
For that, rent Linux. DigitalOcean Basic droplets are $4/month for 1 vCPU, 512 MiB and 10 GB, $6 for 1 GB and 25 GB, and $12 for 2 GB and 50 GB. Hetzner is €5.49/month for a CX23 with 2 vCPU, 4 GB and 40 GB following the 15 June 2026 adjustment. Both are cheaper than a Standard-1X dyno and give you more.
The costs that do not appear on the pricing page are the ones to weigh. You now own TLS renewal, a reverse proxy, systemd units, unattended upgrades and backups. You also pay full rate through every hour the app is idle, which for most small apps is most hours.
Shape C: the workflow back, on your own box
Coolify is the popular answer to shape B's ergonomics problem, and Dokploy is in the same category. Self-hosting Coolify is free with, in their words, "no limitation or restrictions." Coolify Cloud hosts the control plane for $5/month for up to two servers and $3/month per additional server, while the servers remain yours.
This gets you close to the Heroku experience on a €5 box, which is why it has become the default recommendation in this category. The trade is that you are now operating a platform as well as an app, and the failure modes stack. It is a good fit if you have several apps and enjoy that layer, and a poor one if you wanted fewer moving parts than Heroku, not more.
Shape D: functions
Worth ruling in or out quickly. If your app is genuinely a stateless request handler that finishes fast, functions are cheap and the operational load is near zero.
If it is not, the limits arrive early. Vercel Functions cap at 300 seconds on Hobby, with 800 seconds on Pro and 1800 in an extended beta. AWS Lambda stops at 900 seconds. Neither gives you a disk you can rely on between invocations, so state moves to managed services and the bill and the complexity both move with it.
A note on Vercel
A growing share of the traffic to this question is not Heroku refugees at all, it is people looking at a Vercel bill or a lock-in concern and wondering what else exists. The two questions rhyme, so the same sorting applies, with one addition.
Vercel is very good at the thing it is for: deploying a frontend to an edge network. If you need that, the honest options are Netlify, Cloudflare Pages, or self-hosting Next.js behind a CDN. boxd is not a frontend deploy target and we would be wasting your time to pretend otherwise.
Where the question does become ours is the part of the app that was never a good fit for the edge in the first place: the cron job, the queue worker, the long-running API, the thing that wants a database file on disk. Running that half on a machine and keeping the frontend wherever it is happiest is usually cheaper and simpler than trying to make one platform do both.
Where boxd fits
boxd is squarely shape B, with the parts that make shape B tiring removed.
Ten machines are €20/month. Each is a KVM virtual machine with its own kernel, 2 vCPU, 8 GB RAM, 100 GB of persistent disk and an automatic HTTPS domain at <name>.boxd.sh with TLS handled for you.
boxd machine new api
ssh -t boxd.sh connect api
# full Ubuntu 24.04, root, docker installed
# https://api.boxd.sh is live, certificate included
The part that matters for a small app is what happens when nobody is using it. An idle machine suspends and resumes in under a millisecond when the next request arrives, with its processes and memory intact. So a flat €20 covers ten always-available services rather than one.
Three honest caveats. There is no git push deploy, because it is a machine and you deploy however you like. Machines are a fixed size and there is one region, in the EU. And €2 per machine is €20 divided by ten; if you only ever run one, a Hetzner box is cheaper and we would not argue.
Picking
| If you want | Take |
|---|---|
git push and a URL, nothing else to think about | Render or Railway |
| Metered billing that drops to near zero when idle, still a deploy target | Fly.io |
| The cheapest possible Linux box, and you enjoy operating it | Hetzner or DigitalOcean |
| Heroku's workflow on a box you rent | Coolify, self-hosted |
| A stateless handler that finishes in seconds | Vercel Functions or Lambda |
| Several always-on services, one machine each, no server admin | boxd |
The useful question is not which vendor is best. It is whether the thing you are running wants an abstraction or a computer. Heroku was a very good abstraction, and for a decade the answer was "an abstraction" by default. For a lot of small software the answer is now a computer, and computers got much better at costing nothing while they wait.
Related reading
- The cloud for small software on why this category is served badly by both ends of the market.
- Where to actually run your self-hosted apps if the software you are placing is off-the-shelf rather than yours.
- How to run a script 24/7 without paying for 24/7 for workers, bots and cron rather than web apps.
Pricing and platform limits verified 2026-07-30 against each vendor's own pricing page or documentation, linked inline. These change often; we update periodically. We research and fact-check every claim in our articles. If you spot an inaccuracy, email hello@boxd.sh.
Frequently asked
- What is the best Heroku alternative?
- Decide the shape first. If you want `git push` and a URL with nothing else to think about, Render or Railway. If you want metered billing that drops to near zero when idle and still a deploy target, Fly.io. If you want the machine back, a Linux box from Hetzner or DigitalOcean, or boxd if you would rather not be the sysadmin. There is no single best answer because these are not substitutes for each other.
- Does Heroku still have a free tier?
- No. There is no permanently free dyno tier. The cheapest plan is Eco at $5/month, which sleeps after 30 minutes of inactivity, then Basic at $7/month. Heroku Postgres starts at $5/month for 1 GB, so a small app with a database is realistically $10 to $12/month.
- Is Render or Railway cheaper than Heroku?
- Both start lower. Render's free web service tier spins down after 15 minutes without inbound traffic and takes about a minute to restart, which rules it out for anything a user or a webhook is waiting on. Railway is $5/month on Hobby including $5 of usage, metered at $10/GB/month for RAM and $20/vCPU/month for CPU, so a mostly-idle app genuinely costs less than a busy one.
- What is the best self-hosted Heroku alternative?
- Coolify is the most popular, with Dokploy in the same category. Self-hosting Coolify is free and gives you Heroku-style git deploys and automatic TLS on a server you rent. The trade is that you are now operating a platform layer as well as an app, so the failure modes stack.
- Is boxd a Heroku alternative?
- Only if what you miss is the computer, not the workflow. boxd is a Linux machine you reach over SSH with 100 GB of persistent disk and an HTTPS URL, not a deploy target — there is no `git push` deploy. If the git-push workflow is the thing you want back, take Render, Railway or Fly.io instead.
- What should I use instead of Vercel?
- For the frontend itself, Netlify, Cloudflare Pages, or self-hosting Next.js behind a CDN. boxd is not a frontend deploy target. Where the question changes is the half of the app that was never a good fit for the edge — the cron job, the queue worker, the long-running API, the thing that wants a database file on disk. Running that on a machine and leaving the frontend where it is happiest is usually simpler than making one platform do both.
Read next
The cloud for small software
Bots, scrapers, internal tools and micro-SaaS are idle most of the day, keep state on disk, and have to stay up. Why serverless and a plain VPS both mis-fit, and what does fit.
Where to actually run your self-hosted apps
Every self-hosting list tells you what to run, not where. The four real homes for self-hosted software compared: a box at home, a VPS, Coolify on a VPS, and managed persistent machines.
The cloud dev environment: a practical guide for 2026
Why CDE is back in the conversation, the four shapes the category comes in this year, and what changed when AI agents joined the workload.