Coolify is an open-source, self-hostable alternative to Heroku, Netlify, and Vercel. With 24k stars on GitHub, it’s one of the most popular tools in the self-hosting space.
Having used it for a while now, I wanted to share my honest take on Coolify.
Context: My Setup
To provide some background, I run Coolify on a 16GB RAM / 4-core Hetzner instance.
and it feels like this setup is closer to the minimum for hosting with Coolify.
According to their documentation, the requirements are:
- 2 Core CPU
- 2 GB RAM
- 30+ GB of storage for Docker images
I primarily use Coolify to host my RapidAPI APIs and landing pages (that are built with Nuxt and Express.js), including this website.
First Impressions
Coolify feels like a tool tailored for developers with DevOps experience.
It offers many of features like server configurations, Docker management, Cron jobs, and One-Click Deploys...
However, this might not be ideal for developers unfamiliar with DevOps.
Advanced Mode vs. Simplicity
The flexibility Coolify offers is GREAT, but I think there’s room for improvement in making it more beginner-friendly.
For instance, enabling an “Advanced Mode” could allow developers to access these customizations while offering a simplified experience for others.
Missing Features: Metrics Dashboard
A feature I found missing was the absence of a metrics dashboard.
For example, there’s no straightforward way to see:
- CPU and RAM usage per app
- Number of requests served by each app
Yes, I know that you can enable Coolify Sentinel, which is an experimental feature that provides some metrics, but the UI doesn't centralize all the data.
This became a problem when my Coolify instance suddenly started using 100% of the server resources.
To debug, I had to rely on my own Docker knowledge using this command:
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"
I eventually discovered (after searching through GitHub issues) that the internal container coolify-proxy
was the source of the issue.
Restarting the instance resolved the issue.
While this workaround worked, a built-in dashboard would’ve saved me a lot of time.
Documentation Gaps
Another pain point was figuring out where to host the service-account.json
file properly for one of my apps.
After some trial and error, I even DMed the creator of Coolify, who confirmed this was missing from the documentation.
The solution was to create new storage volume and paste the content of the service-account.json
file there.
I think this is a great example of how documentation gaps can be a hindrance to adoption.
Final Thoughts
Despite these challenges, I’m still happy using Coolify to host my website and APIs.
However, I would strongly recommend having DevOps experience if you plan to use Coolify for production environments, especially for client-facing projects.
In summary:
- Pros: Open-source, self-hostable, highly customizable.
- Cons: Steep learning curve, lacks a metrics dashboard, occasional documentation gaps. Coolify has a lot of potential but could benefit from additional features and improvements to usability.