Skip to content
AFCOMP
← Build log

Building My First Homelab: From a Mini Workstation to Self-Hosted Infrastructure

homelabproxmoxdocker

Overview

I've always enjoyed building and fixing things, whether that's computers, networking equipment, vehicles, or electronics. Eventually I wanted a place where I could experiment with servers, Linux, networking, and self-hosted services without relying on my main computer.

That turned into building my own homelab.

The goal was not just to have a server sitting in the corner, but to build something I could actually use, learn from, and continue expanding over time.

The Hardware

The foundation of my homelab is an HP Z2 G9 workstation.

Current hardware:

  • HP Z2 G9 Workstation
  • 512GB PCIe Gen 4 NVMe SSD (operating system)
  • 1TB PCIe Gen 4 NVMe SSD (services and data)

The system runs Proxmox VE as the virtualization platform. Instead of installing everything directly on the machine, Proxmox allows me to create virtual machines and separate different workloads.

My main Ubuntu Server VM runs my Docker environment, where I deploy and manage my services.

Why I Built It

The main reasons I started this project were:

  • Learn Linux administration
  • Understand networking at a deeper level
  • Experiment with virtualization
  • Host my own services
  • Build something I could use as a real portfolio project

A lot of learning happens when something breaks. Setting up a homelab gives me a safe environment where I can troubleshoot problems, rebuild systems, and understand how everything works.

Current Services

My homelab currently runs:

  • Portainer for Docker management
  • Nginx Proxy Manager for reverse proxy and HTTPS
  • Immich for private photo backup
  • AFComp website hosting

Future plans include:

  • Jellyfin media server
  • Minecraft server hosting
  • Monitoring dashboards
  • More automation and self-hosted applications

Lessons Learned

The biggest thing I've learned so far is that running infrastructure is much more than installing software.

The important parts are:

  • Backups
  • Documentation
  • Security
  • Updates
  • Monitoring
  • Understanding how everything connects

This project is constantly evolving, and I plan to keep expanding it as I learn more.

← All entries