Why I Switched from Coolify to Dokku (And Cut My Costs in Half)
I used Coolify for quite some time as a self-hosted alternative to platforms like Vercel and Netlify. But after encountering some performance issues and unexpected resource spikes, I decided to switch to Dokku—and I haven’t looked back since.
Context: My Setup
Previously, I ran Coolify on a 16GB RAM / 4-core Hetzner instance. While Coolify's official requirements are much lower, in my experience, this was the minimum for stable performance.
When I switched to Dokku, I was able to downsize to an 8GB RAM / 2-core Hetzner instance—cutting my hosting costs in half without sacrificing performance.
Why I Switched: The Final Straw
While Coolify was powerful, I ran into persistent high CPU usage caused by the coolify-proxy
container (which runs Traefik).
Debugging this required manually checking logs and running:
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"
Sentinel was disabled. I enabled it just to check the CPU/memory usage for my apps to make sure it’s not caused by that. Basically, no difference between enabling or disabling Sentinel
So to mitigate the CPU issue, I tried limiting resource usage:
deploy:
resources:
limits:
cpus: '1.0'
memory: 512M
While this helped keep CPU usage under control, it broke some of my apps.
At this point, I realized I needed a more stable and lightweight alternative, which led me to Dokku.
Why Dokku?
Dokku is often described as a "self-hosted Heroku," and it lived up to that reputation. Here’s why I made the switch:
1. Lower Resource Usage
Dokku is lighter than Coolify since it doesn’t run an embedded dashboard or extra services by default. With Dokku, I could downsize my server and cut costs without impacting performance.
2. Simple Deployment with Git
Deploying an app with Dokku is as easy as:
git push dokku main
This eliminated the need for Coolify’s UI-based workflows, which sometimes felt overcomplicated.
3. Fewer Moving Parts
Since Dokku is essentially a set of lightweight Docker and Nginx scripts, it avoids the complexity of managing multiple containers like Coolify does.
Things I Miss from Coolify
Dokku is great, but there were a couple of things I missed after switching:
- Coolify’s One-Click Deploy Feature: Coolify made it easy to spin up new apps quickly via its UI.
- Built-in Cron Jobs Management: With Dokku, I had to manually configure cron jobs instead of using a UI.
However, the stability and cost savings far outweighed these minor drawbacks.
Final Thoughts
If you’re looking for a self-hosted platform but find Coolify too resource-hungry (or complex), Dokku is a solid alternative.
TL;DR:
- Pros:
- Lightweight, lower resource usage, Git-based deployments.
- Cut my hosting costs in half.
- Cons:
- No built-in dashboard.
- Requires manual setup for some features (like cron jobs).
For my use case (hosting APIs and landing pages), Dokku has been a more efficient and cost-effective choice.
Would I recommend it? Yes—but only if you’re comfortable with CLI-based deployments.