From Komodo to GitHub Actions: Embracing Simplicity
Remember when I said I was going full GitOps with Komodo? Well, things evolved. ðŸŽ
The Shift
Komodo is a fantastic tool with some really clever features for homelab orchestration. But as I was building out my setup, I realized GitHub Actions would be a better fit for what I actually need: simple, straightforward deployments.
No fancy dashboard. No extra layer to manage. Just workflows in YAML, living right next to my code.
Why GitHub Actions?
Already There
I was already storing all my infrastructure code, Docker Compose files, and configurations on GitHub. Having my deployment pipelines in the same place just made sense. Everything in one place. One login. One interface.
Minimal Overhead
GitHub Actions does exactly what I need without the extra complexity. Push to main, deploy containers, done. Sometimes the simplest solution is the right one.
The Setup: Self-Hosted Runners
I'm running my own agents on two machines:
- Intel NUC at home (handles local infrastructure deployments)
- VPS in the cloud (takes care of public-facing services)
The CGNAT Advantage
Here's something interesting: with self-hosted runners, the communication is outbound-only. My runners connect to GitHub, not the other way around.
No port forwarding needed. The NUC behind CGNAT works exactly like the VPS with a public IP. Problem solved.
Current State: Simple and Effective
Right now, my workflows are straightforward:
- Push to main branch
- GitHub Actions picks it up
- Deploys Docker containers to the appropriate runner
- Services restart automatically
Nothing fancy, but it works. And more importantly, it's maintainable.

What's Next?
The infrastructure journey continues! Next up on my list is finally tackling Traefik. Yes, I'm still on Nginx Proxy Manager, but that's about to change.
Traefik with automatic service discovery, proper certificate management, and (you guessed it) deployed via GitHub Actions. All as code, all in Git, all reproducible.
Stay tuned for that adventure. Knowing me, there will be broken configs, debugging sessions at 2 AM, and probably a few "why did I think this was a good idea" moments.
But hey, that's what homelabbing is all about. 🚀
See you in the next one!
Yacine