Posted in

I stopped paying Heroku for my app deployments after discovering this self-hosted…

The topic I stopped paying Heroku for my app deployments after discovering this self-hosted… is currently the subject of lively discussion — readers and analysts are keeping a close eye on developments.

This is taking place in a dynamic environment: companies’ decisions and competitors’ reactions can quickly change the picture.

I love creating wacky projects and jumping headfirst into whatever cool GitHub repo I encounter during my doom-scrolling sessions. Rapid deployment platforms like Heroku are pretty useful for my tinkering misadventures, as their one-click installation process and automated update pipelines add a lot of convenience by letting me focus on the coding and troubleshooting aspect.

Well, there’s also the benefit of leaving the underlying hardware shenanigans to an external firm. But personally, I prefer self-hosting services as much as I can, and would actually love to save some extra bucks by managing the server and its resources. Fortunately, I ran into Coolify the other week, and it has easily become my favorite alternative to Heroku, Render, and Vercel.

Docker may be the most popular containerization platform, but Podman packs a lot of useful features

Being able to pull GitHub repos and use them to spin up new applications instantly is what makes Heroku so useful for typical dev tasks, whether it’s creating quick database-oriented resource monitors or designing full-fledged websites. That’s pretty much what Coolify does, except I’m the one in charge of the server powering this platform. It has the same Git-based deployments as its paid, cloud-based counterpart, and I can import public and private repos into my projects as resources.

Coolify can connect to object storage platforms, but since I’m not fond of relying on Amazon’s paid S3 service, I stick to my MinIO instance. Likewise, I can configure auto-deployment facilities for all the micro-apps/containers powering my projects, enable health check tasks for them, and use Sentinel to track their metrics. Coolify also pairs with conventional alert platforms like Discord, Slack, email, and Telegram, but I can also use it with Pushover and webhook-powered servers. Everything is neatly laid out in Coolify’s web UI, and I barely needed the documentation after I got the server up and running.

Another neat aspect of Coolify is that it supports Docker-based deployments, meaning I can spin up containers using Dockerfiles, Docker Compose configs, and good ol’ OCI images. Heck, it even includes dozens of templates for apps and databases. Most of them are pretty developer-oriented, and some even include their own database configurations within the image. Managing these containers is just as simple, with Coolify including dedicated tabs for the environment variables, persistent storage provisions, resource limits, and automated cron tasks. It even lets me check app deployment logs, run commands, and create backups straight to my Minio object storage.

Coolify may be more dev-centric than most containerization platforms I’ve highlighted here on XDA, but it’s fairly useful for self-hosting aficionados with a knack for automated app deployment pipelines. for example, I can build an entire CMS platform using just the templates and database images offered by Coolify without skimming through multiple GitHub repos.

Or, if I didn’t already have productivity-centric tools scattered across my Proxmox nodes, I’d use Coolify to run n8n, Joplin, Homebox, BentoPDF, SearXNG, Syncthing, and other must-have FOSS utilities. And I can always use Docker Compose files for the few applications that aren’t natively available on Coolify.

Despite the sheer number of dev tools and integrations available in Coolify, its setup process is fairly simple. If you use Linux-based systems for your home server experiments as I do, you can run curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash within the terminal and watch the installation script run its magic. By default, Coolify generates public IPv4 and IPv6 addresses for the web UI, which is pretty neat for folks who want to start working with their rapid development pipeline without configuring the networking stack. I’ve used my Pi-hole + Nginx Proxy Manager combo for a custom Coolify URL, and since the app supports OAuth tools, I plan to pair it with my Authentik server to amplify its security over the weekend.

Between all the nodes in my home lab, I’m already deep into managing my own servers, so Coolify is a welcome addition to my toolkit. But I’d be biased if I said it’s for everyone. While deploying Coolify is a cakewalk, you are still in charge of the hardware aspect. On a particularly weak system like a Raspberry Pi, you might find your project-riddled Coolify instance somewhat slow, and you might need to install it on additional VPS/local servers if you want better scaling for your apps.