My 5 Dollar Tech Stack
I’ve come a long way, trying to find a place for my apps. Especially for fun side projects, which I don’t publish in any serious manner.
There is a huge market for serverless providers, and Vercel, Netlify, Heroku and AWS and Firebase are amongst the ones I used.
Don’t get me wrong. These providers can be great for your production app. Some of them definitely offer automated scaling, mostly fair pricing (at least for scaling up) and great DX.
But for my side projects, it wasn’t the ideal solution.
I want to build stuff without lock-in effects. I want to ability, to run my projects in different places, not depending on the SDK of a single provider. And most importantly without fearing a bill, making me bankrupt when things go wild. Apart from the potential costs when my projects scale, most serverless provider have an expensive base line. Both Vercel and Supabase charge about $ 20 a month, which is a lot of money to me.
The most ideal way I imagined was building a Docker image, able to run everywhere and publishing this on my server. Automatic HTTPS, easy management of subdomains and so on - and all of that, for a small and constant price.
I tried fly.io, but that wasn’t for me too. One can’t use Docker compose there and honestly, I didn’t yet understand their pricing model. But I will give it another try in the near future.
Then I discovered Coolify. And it absolutely blow my mind. Until now, it is literally solving all my problems for my side projects. Here is how.
Coolify is a software, which can be installed on your own server instance. It allows you to manage your projects as containers on your servers.
I had virtual private servers in the past, giving me full root rights to host apps. And with a domain, pointing to your server, you could get almost anything up and running in the web. But coolify supercharges the entire process. It offers HTTPS, continuous integration, S3 bucket integration, easy handling of subdomains out of the box.
And there are dozens of applications which can be installed from the store - for free. Among these are, for example, Pocketbase und Supabase.
Here is how my tech stack, based on Coolify works.
Hetzner VPS: The basis
My Coolify-driven stack is running on a server by Hetzner. I am paying a little less than $ 5 a month for a 2 CPU-cores instance with 4 GB of RAM and 40 GB of SSD. Incredible value for money.
Domain: Namecheap
I got my domain from Namecheap. I am paying $12 a year.
For .com Domains Namecheap seems to have the best pricing currently, but it might depend. Do your own research, everything in-between 10 - 20 dollar is reasonable to me.
Coolify: The centrepiece
When you set up your Coolify, you can connect it to your Github account for continuous integration. Doing so, you can publish almost all your web-app repositories to Coolify, which will figure out automatically what to do with it. It can build Docker images but also deal with static web apps easily. Minimal configuration is sometimes required, but over all, you can deploy in literal seconds.
Coolify manages SSL certificates for your web apps. Once you connect your Github, it will re-build your latest commit.
Here it the thing. Coolify can create subdomains for all my side projects. This means, I am paying for one domain, and having one server - but entirely independent apps behind each subdomain. I know, one could do similar things anywhere, but Coolify makes this process so easy. Just assign a subdomain to your project, and there you go. I didn’t have to fizzle anything around with my domains settings.
I know, subdomains aren’t the most elegant thing. But this article is about side projects, and if anything get I can still get a standalone domain for it.
Believe it or not, but this setup helps me building more. The fact that I don’t have to worry about any serverless provider or getting a new domain for my project. All I do is create a Docker instance (if at all) and publish my project to Github. Then Coolify can build the instance for me.
Apart from Coolify, I can use the VPS for whatever I like. Coolify offers great options, but doesn’t restrict the user to its offers, compared to most serverless providers. In the end, I have full access to a Ubuntu root server.
Why Coolify is supreme
Before discovering Coolify, I thought I had to make a decision between Supabase, Vercel, a hosted Pocketbase instance and so on.
Fortunately, Coolify offers support for Supabase and Pocketbase out of the box, as both are open source projects. This means, you can migrate your Supabase project to your own instance, running Coolify. At the same time, you can also run a Pocketbase backend, building apps with it. Everything, whilst paying a constant price. (For running Supabase you should have around 8 GB of RAM, so a VPS for about $ 10 is your choice.)
But what about scaling?
Serverless platforms offer great scaling. No doubt about that.
But using Coolify, there is a way to scale too.
You can get more instances of VPNs on Hetzner, and “connect” them using a load balancer. This means, you can handle more traffic and serve your app
Of course, most serverless providers offer much better scaling. But this article if for side projects, and you have to start somewhere. When building your project with Supabase on your Coolify instance, you can later migrate it to the actual Supabase, for example.
I just want to make clear that you are not locked into a single VPS for all times. There are ways to scale, if it is necessary.