I have always been a big believer in self hosting. I started experimenting with it back in high school, long before I even knew what “DevOps” or “cloud infrastructure” meant. I was spinning up Apache and XAMPP servers on my old laptop, hosting small Joomla sites, running phpBB forums for friends, and even setting up private servers for an MMORPG I was obsessed with at the time.
Looking back, I did not realize it then, but that was my first real exposure to servers, networking, and deployment. I was just trying to make cool things work.
If you love self hosting, you probably recognize the two emotions that always come with it.
The joy of owning your stack and paying less for decent compute
The pain of wiring everything together, then maintaining it forever
For years, it felt like we were searching for the “perfect” tool. Something that could solve most of our headaches without taking away the freedom that made self hosting fun in the first place. We did not want another locked-down platform or a complicated enterprise setup. We just wanted something simple, reliable, and built for developers like us.
Was that really so much to ask? Apparently, we just had to wait a little longer.
Around the middle of the pandemic, a new wave of developer tools started popping up, and that is when I discovered Coolify. It was not just another hosting dashboard. It felt like someone finally understood the self-hosting crowd. It gave you the power of Docker, servers, and infrastructure, but wrapped it in an interface that made everything approachable.
For the first time, deploying apps, databases, and services did not feel like a weekend project. It felt easy. More importantly, it made DevOps concepts less intimidating. You could actually learn how things worked instead of fighting configuration files all day.
Coolify did not just make self hosting simpler. It made it accessible to anyone who wanted to learn the ropes without drowning in complexity.
This post is a friendly tour of self-hosting, where Coolify fits, and the real pros and cons you should know before you go all in.
What self-hosting really means
Self-hosting is running and maintaining your own apps and services on infrastructure you control, instead of using someone else’s hosted platform. The trade is simple: more control and flexibility, but more responsibility.
In practice, that often means renting a VPS and running your projects there: personal websites, APIs, side projects, databases, monitoring tools, and hobby services.
Why Coolify feels like “cheat codes” for self-hosting
Coolify describes itself as an open-source, self-hostable alternative to platforms like Heroku, Vercel, Netlify, and Railway, but running on your own servers.
The big idea is this:
Your VPS runs Docker
Coolify becomes the control panel that builds, deploys, routes, and manages your containers
You get a lot of “platform” convenience without giving up ownership of the infrastructure.
What you can deploy with it
Coolify supports multiple deployment styles so you can match how your project is built:
Nixpacks for auto detection builds (great for many apps)
Static sites and SPAs
Your own Dockerfile
Docker Compose for multi-service setups
Prebuilt Docker images
That means you can host a portfolio site, a Next.js app, an API, and a background worker, all in one place, with a UI that understands the whole setup.
Databases are first-class
Coolify can deploy common databases with a few clicks, including PostgreSQL, MySQL, MariaDB, MongoDB, Redis, and more.
It also supports scheduled database backups (including S3-compatible storage) for several database types.
Routing and HTTPS without hand-rolling everything
By default, Coolify uses Traefik as a reverse proxy to route traffic to your services.
If you want to expose apps without opening ports or showing your server’s IP, Coolify also documents Cloudflare Tunnel setups, including an “all resources” approach that is beginner friendly.
Docker Compose, but actually manageable
If you have ever self-hosted a real app, you know how quickly it becomes “just one more service” until you have ten containers, three networks, and a pile of config.
Coolify’s Compose support automatically creates a network for the deployment and integrates proxying so services can be made available externally in a consistent way.
Self-hosting pros and cons, honestly
Self-hosting can be amazing, but it is not always the right tool for the job.
The upsides
1) Real control
You choose the server, the region, the firewall rules, the backups, the stack, and the upgrade schedule.
2) Cost efficiency at small to medium scale
A single VPS can host multiple projects. For personal sites, portfolios, and small apps, this can be a great value.
3) You learn fast
You naturally pick up Linux basics, networking, TLS, Docker, logs, and incident habits.
4) Fewer vendor constraints
No “you hit the limit”, no “this feature is premium”, no “we changed the rules”.
The downsides
1) You are the ops team
Updates, security patches, disk space, CPU spikes, renewals, monitoring, and downtime are on you.
2) Backups are your responsibility
Coolify can help with database backups, and it has guidance for backing up the Coolify instance itself, but you still need to take this seriously and test restores.
3) Security is not optional
A misconfigured server is a public liability. You need basics like SSH hardening, least privilege, and good secrets handling.
4) Some things are still easier on managed platforms
If you need global edge deployment, managed databases with automatic failover, or enterprise compliance, the “fully managed” world can win.
Coolify Cloud vs self-hosted
Coolify has two main ways to use it:
Self-hosted: free to run yourself (you maintain the Coolify instance)
Coolify Cloud: they host and maintain the Coolify instance for you, while you still bring your own servers
If you like self-hosting but want fewer headaches around the control panel itself, the cloud option can be a nice middle ground.
A simple mental model for using Coolify on a VPS
Here is how I think about it:
The VPS is the machine
Docker is the runtime
Coolify is the platform layer
Proxy + domains route traffic to the right container
Databases and services live next to your apps, with backups you control
That’s it. Once you internalize that, Coolify becomes a productivity tool, not a mystery box.
My favorite “starter stack” for a portfolio and a couple apps
If you are building a portfolio like saaif.dev and want room to grow, a practical setup is:
Coolify on one VPS
A static site or Next.js app deployed via Git
One Postgres database for future projects
Automated backups to an S3-compatible bucket
Cloudflare Tunnel if you want less port exposure, or standard HTTPS with a reverse proxy if you prefer the classic approach
What can still bite you (and how to avoid it)
Underestimating backups: schedule them, store them off-server, and do a test restore.
No monitoring: even basic uptime checks and disk alerts save you.
“Everything on one box” forever: it is fine early, but plan how you would split workloads later.
Secrets in random places: use environment variables and keep credentials out of Git. Coolify supports environment variable management as part of the workflow.
Closing thoughts
Coolify is one of those tools that makes self-hosting feel approachable again. It keeps the fun parts, shipping projects on your own server, while shaving off a lot of the repetitive glue work.
If you have been curious about self-hosting but bounced off the complexity, Coolify is a very reasonable “first serious step”.
If you want, I can also help you turn this into a version that matches your personal voice more (more casual, more technical, or more story-driven), and add a short section showing how you deployed your portfolio on Coolify without turning the post into a tutorial.
