Self-hosting
This post was originally published on golifelog.com.
I have been self-hosting in the past, switched to SaaS, self-hosted again, closed accounts, paid money. I guess many freelances are there.
Build a project with framework X, deploy it on Y. Heroku, Vercel, Netlify, AWS, and many more. The possibilities are quite endless. And so, obviously, the costs can also skyrocket at any time. I’ve read many stories where small companies got a huge sign-up boost and were presented with crazy AWS bills.
So I’ve searched for a new way to host projects again. With the simplicity of Vercel (got a few sites running there), but on “bare metal” (or in my case on a small VPS from Hetzner). After a short time, coolify.io showed up.
It looked promising, so I gave it a try. The setup was rapid (only one command to execute, well two, but in one fine copyable string). After it is done setting up docker and the containers it needs on its own, you create an admin account.
I created a “project” and linked my GitHub account. Only a small code changes later, I managed to deploy my https://life.phaidenbauer.com/ Next.js project with ease. It does auto-pulling, building and deploying the projects.
I’m quite amazed how fast it was to deploy and test out, to be honest.
As a next project, I moved some of the automations I run on my Raspberry Pi at home. This time I created my own Dockerfile (though it’s not necessary thanks to Nix Packs) to get it up and running.
So far, I’m quite pleased, although self-hosting also means updating packages on my own. At least, you can enable auto-updates on coolify.
As a next step, I think I’ll move my hosted ghost.org Blog to coolify. As I don’t like that, I have to pay $89 a year and can’t even update the theme to a custom one. Furthermore, I probably move some of my carrd.co sites over. Not because it’s expensive, but to streamline all my small projects into one codebase.
By the way, coolify also provides a bunch of “packages” that come with a Docker Compose config, out of the box. So setting up a Database Server or some other projects is basically only one click away.
If I remember, I’ll keep you updated :)
Oh, and before I forget, you can deploy it on multiple servers but only manage everything from one “main” installation. There are also “build server” you can use to offload the image building to, so it doesn’t interfere with your “normal” applications.
The only downside I’ve seen so far seems to be load balancing. They’ve got an early version ready, but it’s still in alpha/beta state. Not that I’ve got any site that would need it 🙈