7 May 2026
Building a Home Lab: How I Turned an Old PC Into a Learning Machine
How I built a home lab to learn about servers, Docker, CI/CD, and everything in between.
In my search to learn more than just the web tech I picked up in school, I decided to build a home lab from an old computer I had lying around. I wanted a place to explore servers, Docker, CI/CD, and all the infrastructure stuff that rarely comes up in a classroom. A place to experiment without worrying about breaking anything that matters.
The Hardware
The machine I used is an old Dell with an Intel Core i7, 8GB of RAM, and a 128GB SSD. Not the most powerful setup, but more than enough for what I needed.
What I Use It For
I installed Ubuntu Server and set up a few services. Currently running:
- Docker — the foundation for everything else
- Prometheus + Grafana — to monitor hardware and container metrics
- Portainer — to manage containers without touching the CLI every time
- Nginx — as a reverse proxy so I'm working with domain names instead of IP addresses
- Tailscale — so I can access my home lab from anywhere without port forwarding or exposing services to the internet
My First Project
My first idea was a docs app where I write everything about the server what's running, how it's configured, why I made certain decisions. Useful as a reference, but also as a record of what I'm learning.
The interesting part came with GitHub Actions. I set up a pipeline that automatically builds and deploys the docs app to my home lab every time I push to main. It's a basic CI/CD setup, but building it myself made the concept click in a way that reading about it never did. Understanding how automation fits into a real workflow is something I'll carry into every project going forward.
What's Next
I want to dig into Kubernetes, understand what it actually solves and when it's worth the complexity. Beyond that, I'm curious about infrastructure-as-code with Terraform: managing servers and resources through config files instead of manual setup.
The home lab isn't a side project. It's how I stay sharp outside of work and school, and it keeps pushing me toward becoming a better developer.