Migrating to Coolify: an open source PAAS that installs wherever you want
Migration to Coolify: an open source PAAS that installs wherever you want
I recently migrated RssFeedPulse to Coolify and it's worth talking about a bit.
Have you considered it?
Should you consider it?
What can you expect from it?
What are the advantages and disadvantages?
Let's find out.
Paas or not Paas, that is the question
This title takes me back to several years ago (2014) when I wrote on this very blog: "PAAS or not PAAS. When should you start migrating?"
I strongly recommend, as I did in 2014, using a PAAS to start a new application, a new startup. Because, really, you need to delay as long as possible the moment when you're going to have to touch your infrastructure (servers, network configuration, security configuration etc...).
And even then, you need to keep the cost and time involved as low as possible.
PAAS stands for "Platform As A Service". Basically, it's a service that lets you deploy your applications without having to worry about anything. Back in the day, I'd mention cloudbees, heroku and clever-cloud, but today, I could add Vercel or Netlify to the list of current behemoths.
When a company grows, the question always comes up, because I don't know of any PAAS that can run applications with the "enterprise" constraints you're supposed to have above a certain size (like, for example, not having databases publicly exposed on the Internet, even if protected by a password, security groups etc.). This is often the point at which we switch to the classic clouders (AWS, GCP, Scaleway etc...).
But that's not today's topic.
Why do I decide to switch from my current PAAS to Coolify?
And what is Coolify?
Coolify
I'm going to start by answering the second question first because it's going to answer the first question too.
Coolify is a PAAS.
So, I'm sticking with a PAAS.
Except that it's an open source project that you can deploy yourself, at a lower cost.
Coolify's promise is that I can reproduce the user experience of a Vercel, Heroku or Netlify on the server of my choice.
But why do that?
For me, there are two main reasons:
- the cost
- the services
On paper, Coolify's services can be very competitive.
By default, Coolify isn't restricted to the JS universe (like Vercel or Netlify), and I'm a Kotlin user, so that's fine to me.
Secondly, Coolify lets you deploy over fifty applications in a single click, including wordpress, supabase, anythingLLM, docuseal, odoo, ollama, posthog and more. That's a lot, and it beats the marketplace for many PAAS on the market.
On my side, in addition to my application, I've installed Umami (Web analytics) and Metabase (Product Analytics).
And that's without mentioning Coolify's functionalities, which go further than the vast majority of PAAS on the market:
- a notion of environment
- a notion of network linked to a group of applications
- resources not exposed on the Internet, unless desired (such as a database, for example)
Cost
On the financial side, once again the gains can be very substantial.
A 32Gb machine on a PAAS is easily over €500/month.
Coolify will run it on a dedicated server or a VPS. With a provider like Hetzner, a 32Gb machine costs €58/month.
It's normal for your PAAS to be expensive, since you're also buying a support team and software.
But sometimes too much... You may have heard of the recent stories of insane bills on Vercel (96k !!) or on Netlify (104k !!).
For my part, I've upgraded to an 8x more powerful machine for a price divided by 3, and I can host more applications on the same node.
And I'm still on a PAAS, so in theory I benefit from the same day-to-day simplicity.
Why I'm migrating
I'm developing RssFeedPulse. The application has had decent growth over the last 6 months, but from a very low base.
On the other hand, web traffic is stagnant or even falling because I'm not investing in marketing and I'm bad at doing it myself.
So the application isn't on a trajectory to be mega-profitable, and growth will eventually collapse without any increase in additional traffic.
On top of that, the subscription cost is very low (1 euro for the start-up plan).
All this means that the cost of my current PAAS is higher than the revenue from this service, for the time being.
In itself, we're talking small amount, but by switching to Coolify, the application could be profitable right now.
On top of that, I want to test launching other services. On a classic PAAS, each service will cost me an entry fee. With Coolify, I can host several applications on the same machine.
Even so, under normal circumstances, this argument alone would be flawed. Financially, we're talking peanuts for someone who has a product that really works.
Of course, it would be more profitable to spend time improving marketing than migrating to Coolify.
But at the moment I have limited time, because I'm in Japan taking Japanese lessons 4 hours a day. So migrating to a less expensive service means I won't be burning money every month on it, while leaving me some time to test other products.
But really, it's the services I get that are worth it. Because today, my criteria for choosing a PAAS are multiple:
- advanced service catalog
- notion of environment
- private network for resources
- polished UI
- must run kotlin
and all this is.... rare.
Expectations vs. reality?
Coolify proposes to deploy a PAAS, that's absolutely true. By the way, you can also try Dokploy or CapRover in the same family.
However, deploying on a PAAS is not the same thing as deploying a PAAS.
It's a great tool, but it does require a bit of effort to get it right.
Saying that it requires 0 effort is false.
So is it worth it?
Yes, in the following cases:
- a person like me, who doesn't make crazy profits with small applications and wants to remain frugal on expenses. In return for spending a bit of time and being autonomous on small details to be settled.
- someone whose costs have skyrocketed on the market's PAAS and who wants to bring them down.
- a small team looking for functionalities they can't find on market PAASs, but who don't want to start using a classic cloud, which is too complex and too opaque on costs.
On the other hand, it wouldn't necessarily be advisable if, for example
- your application consumes few resources and already generates a lot of revenue. A PAAS to which you delegate everything will help you sleep better at night.
- if you have no knowledge of how a PAAS works and/or of security, backup etc..., it's a case of shooting yourself in the foot.
And for now, I'll stop here. We'll consider this an introductory blog post for future posts in which I'll detail how I migrated and which will no doubt be a little more didactic.
We'll be talking about security, backup and monitoring, among other things.
Ciao