HaaS: Homelab as a Service

Building your own cloud, one container at a time

Published on Jul 01, 2025

Reading time: 3 minutes.


In today’s world of SaaS everything β€” where every tool comes with a monthly subscription πŸ’Έ β€” I often find myself asking: “Why pay for all of this when powerful, open-source alternatives exist? 🐧” Having worked with open-source software from the very beginning of my career, I’ve always believed that owning your data and infrastructure is the way forward. πŸ—οΈ

For a long time, I dreamt of building my own NAS (Network Attached Storage) πŸ—„οΈ. Like many hobbyists, I started with the world’s tiniest computer β€” the Raspberry Pi πŸ₯§. I paired it with open-source NAS operating systems like TrueNAS and OpenMediaVault, experimenting for a few years. But while these setups were fun and educational, they fell short when it came to performance and reliability. ⚑️❌

Eventually, I realized that what I truly needed was a dedicated, energy-efficient, and stable machine with built-in RAID support. After weighing the pros and cons of building a custom PC (spoiler: high power consumption was a deal-breaker πŸ”Œβš‘οΈ), I turned to pre-built NAS systems.

That’s when I found the sweet spot: Synology πŸ†. With its own battle-tested OS, native support for RAID, and the ability to run Docker containers out-of-the-box, it ticked all the boxes. I finally landed on the Synology DS923+, a powerful 4-bay NAS that’s capable of not only storing my data, but running my self-hosted stack β€” from media servers to music libraries, all without depending on third-party cloud services. ☁️🚫

🧱 Building the Stack: What I’m Running on My Synology NAS

Once my Synology DS923+ was up and running, the next challenge was clear: How do I bring all the self-hosted pieces together? Thankfully, Synology’s built-in support for Docker (via the Container Manager package) gave me a solid launchpad.

I quickly realized I needed more control and visibility over my containers β€” and that’s where Portainer came in.

🧩 Stack Overview

Here’s a look at what powers my self-hosted ecosystem:

βœ… Portainer: My Container HQ

The very first thing I deployed was Portainer, a lightweight container management UI that makes spinning up and managing Docker stacks incredibly simple.

Rather than writing and tweaking endless docker-compose.yml files via SSH, Portainer gives me a clean web UI to manage containers, volumes, networks, and even registries β€” all from the browser.

πŸ–₯️ SSH Access (I live in the terminalβ€”so SSH access was non-negotiable.)

Of course, I couldn’t resist enabling SSH access to my NAS. While Portainer handles most container lifecycle tasks, I often find myself jumping into the terminal for:

  • Troubleshooting logs
  • Volume mounts and permissions
  • One-off container commands
  • Syncing with external storage (e.g. rsync, rclone)

πŸ” Tailscale: Zero-Config VPN

To securely access my self-hosted stack from anywhere in the world, I set up a Tailscale VPN node on my NAS.

πŸš€ My Current Stacks in Portainer

Portainer Dashboard

🌟 ** What’s Next in the HaaS Series?**

This post is just the beginning! In my HaaS: Homelab as a Service series, I’ll be diving deep into my own homelab journeyβ€”sharing how I set up each open-source, self-hosted stack, one service at a time. From media servers to automation tools, I’ll break down the why, the how, and the lessons learned along the way.

πŸš€ Stay tuned if you’re curious about building your own private cloud, want to take control of your data, or just love tinkering with open-source tech!

Feel free to leave a comment or reach out if there’s a particular stack or topic you’d like to see covered next. Let’s build our homelabs together! πŸ‘πŸ’»πŸŒ