Case Studies / Infrastructure & DevOps
NexOS Homelab
The homelab is where my projects run. Servers, containers, networking, and services are defined in code, and a command-line tool I built validates, plans, deploys, and checks them, so changes are repeatable and reversible instead of manual.
Verified delivery
- IaC
- Terraform, Ansible, and NixOS
- 440+
- Commits on the Go CLI/TUI since April 2026
- Self-hosted
- Git, registry, monitoring, and apps

01 / Challenge
The workflow before the system
Running several apps by hand on a server leads to configuration drift, forgotten steps, and risky changes.
02 / Approach
How I designed the response
I defined the infrastructure in code (Terraform for machines, Ansible and NixOS for configuration) and wrote a Go command-line tool with a terminal UI that reads those definitions, plans changes, deploys apps, and asks for confirmation before risky actions.
- Proxmox containers and VMs defined with Terraform
- Configuration with Ansible playbooks and NixOS modules
- Docker services behind a Traefik reverse proxy
- Private access over Tailscale
- Self-hosted Git (Gitea) and container registry (Harbor)
- Monitoring with Prometheus and Grafana
- Go CLI and TUI for validate, plan, deploy, and status
03 / Outcome
Hosts my own apps, including Luna and the Relay evaluation release. The Go control-plane tool alone has 440+ commits since April 2026.
04 / Workflow
Before
- Configure servers and containers by hand
- Remember deploy steps for each app
- Find problems only after something breaks
With the system
- Describe machines and services in code
- Validate and plan the change with the homelab CLI
- Deploy through the CLI with confirmation for risky steps
- Watch health in Grafana and the CLI status view
05 / Engineering proof
Architecture
- Proxmox host running LXC containers and VMs
- Terraform stacks, Ansible playbooks, and NixOS modules in Git
- Traefik reverse proxy and Tailscale private network
- Gitea for code, Harbor for images, Prometheus + Grafana for monitoring
- Go engine with a terminal UI that reads the checked-in definitions
Verified evidence
- Hosts Luna and my other self-hosted projects
- 440+ commits on the Go control-plane tool since April 2026
- Diagram shows the real structure with private details removed
06 / Judgment
Tradeoffs
- Private repositories: they describe my own network
- One main server keeps costs low but is a single failure point
Why it matters
- Shows Docker, CI/CD, infrastructure-as-code, and Linux operations skills
- Shows how I ship and run the software I build
What this proves
I can run the full lifecycle of my software, from code to deployment and monitoring, using infrastructure as code.
Continue exploring