Journey of Self-Hosting (4): Coolify

Journey of Self-Hosting (4): Coolify
Photo by Marek Piwnicki / Unsplash

After the previous post (Journey of Self-Hosting (3): Get your cloud server, for free) you should have your server running and ready to run some actually useful stuff.

You might be thinking that: I just need to install Docker, and install everything I want with Docker and somehow things will work eternally.

Actually, we can do more than that. There are really cool projects out there that can make your head-start in this journey much easier.

Coolify: An open-source & self-hostable Heroku / Netlify / Vercel alternative

For those of you who don't have experience with Heroku and alike, they are PaaS (Platform-as-a-Service) companies. They take care of the low-level nitty-gritty details of cloud infrastructure (i.e. networking, containers, etc.) and what you need to do as a customer is just to provide them with your project code, and they will automate the deployment of it to the cloud as much as possible.

For example, say you want a PostgreSQL database. If you are dealing with the infrastructure yourself, you have to worry about the Docker setup, which image to use, networking, security, etc. On the other hand, in a PaaS platform, you might be just one click away from a running database that is ready to be connected.

You can read documentation from Heroku to learn more.

Getting Started on Heroku with Python | Heroku Dev Center
A step-by-step guide for deploying your first Python app and mastering the basics of Heroku

And, Coolify, is an open-source and self-hostable software that can turn your server into a PaaS.

Coolify
An open-source & self-hostable Heroku / Netlify / Vercel alternative.

I don't feel like doing a whole tutorial on Coolify here because someone has already done a very good job:

Basically, it offers a big list of benefits including but not limited to:

  • Easy installation. Just one line of curl and bash away.
  • One-click deployment of popular self-hosted software like Ghost (the one you are reading now!), Vaultwarden, etc.
  • Easy deployment of any software with Docker or Git repositories.
  • Free SSL so that you don't need to figure out how to go from http to https.
  • Automatic DB backups. This includes your configs of the Coolify instance, and also the databases you provision using Coolify!
    • Despite backups on local disk, you can even have S3 storage as a destination of remote backups.
  • Great integrations with notification tools like Email, Telegram, etc.

Conclusion

I have been running Coolify on my remote server as a PaaS and never looked back. After having dozens of apps running with it, it's proven to be pretty solid. And the author is putting much effort into maintaining it too. I can't wait to see even more great features coming.