Documentation for my home lab CI/CD setup
This project documents my home lab, a personal infrastructure built around data privacy and digital autonomy. Rather than handing control of my data to third-party platforms, I self-host the services I rely on daily, keeping everything under my own roof. It’s a living system that grows as I do, and this site exists as both a reference for myself and a transparent look at how it all fits together.
The home lab has been reformed into a cleaner, unified architecture built around a single high-performance computer that runs core services. Access to services is provided through:
This approach provides granular control, privacy, and security while maintaining ease of access.
ECHO Music Streaming Currently, the main service running on this infrastructure is a self-hosted music streaming platform built around Navidrome. I developed a custom frontend called ECHO to tailor the experience to my specific needs.
ECHO integrates directly with ACRO for Single Sign-On (SSO), ensuring that only authorized users can securely authenticate and access streaming content from my personal music library. This setup demonstrates a complete full-stack deployment: managing the infrastructure, securing the network, and developing both the user-facing application and its authentication layer.
Gitea Source Control & CI/CD Another core service is my self-hosted Gitea instance, which acts as the central hub for my coding and game development work. It heavily utilizes Git LFS (Large File Storage) to reliably handle the large binary assets required for my Unity projects. Coupled with a local runner for CI/CD tasks, this provides a completely private, high-performance development pipeline.
This diagram shows the current MK-2 architecture with the unified compute node, Tailscale mesh networking, Headscale control plane, and ACRO authorization layer.
Note: The diagram below shows the original MK-1 architecture and is no longer active. See the retired nodes section below.
The original setup consisted of multiple distributed nodes:
The MK-1 architecture was a valuable learning experience for understanding distributed CI/CD infrastructure, but has been consolidated into the cleaner MK-2 single-computer design focused on privacy and control.