← Blog

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.