---
title: "Day 1 — Why I Built a Homelab (and Why You Probably Should Too)"
description: "Where it all starts. The hardware decisions, the philosophy, and the dangerous moment I decided a Proxmox cluster was a \"good idea\"."
pubDate: 2024-11-01
day: 1
tags: ["homelab", "proxmox", "hardware", "why"]
---

## The Itch

Every sysadmin eventually gets the itch. You spend your days wrangling production HPC clusters — ARCHER2 nodes, Cirrus compute, InfiniBand fabric — and you come home and think: *I want something like this, but mine*.

Not a VM on a cloud provider. Not a Raspberry Pi running Pi-hole. A proper stack — compute, storage, networking — that I control end to end, where breaking things at 2am is a learning experience rather than a P1 incident.

This is Day 1 of that journey.

## The Philosophy First

Before buying a single piece of hardware, I wrote down what I actually wanted from a homelab:

- **Failure should be cheap, not catastrophic.** Real redundancy, snapshots, backups.
- **Everything as code.** If I can't reproduce the setup from a Git repo, it doesn't exist.
- **Dogfood the tools I use at work.** Ansible, Terraform, monitoring stacks — use them at home so they're muscle memory at EPCC.
- **No cloud vendor lock-in.** Self-hosted or bust.

## Hardware — What I Picked and Why

### Compute

I went with a used server chassis from eBay rather than consumer NUCs. The reasoning was simple: ECC RAM, IPMI, and PCIe slots worth having. The power draw penalty is real, but I'm not running this 24/7 at full load.

> The most expensive homelab decision is the one you make twice. Buy the thing that gives you headroom.

### Storage

ZFS from day one. I'd seen enough production storage corruption at work to know that data integrity checksums aren't optional. I spec'd the pool conservatively — RAIDZ2 across four drives — knowing I could expand later when ZFS 2.2's RAIDZ expansion landed properly.

Pool name: `zfs-oporto`. Obviously.

### Networking

OPNsense on a dedicated box. No consumer router running some vendor's locked-down firmware between me and the internet. VLANs from the start, even when it felt like overkill — because it always feels like overkill until it isn't.

## The Software Stack (Day 1 Vision)

```
[ OPNsense ]  ← router/firewall/VLANs
    |
[ Proxmox VE ] ← hypervisor
    ├── Kubernetes cluster (k3s initially, then full k8s)
    ├── NAS VM → ZFS pool
    └── Utility VMs (monitoring, DNS, etc.)
```

The monitoring story was left deliberately vague on Day 1. Spoiler: it took many iterations and a lot of wrong turns before landing on Netdata → VictoriaMetrics → Grafana.

## What Actually Happened

I had everything racked and powered by midnight. The first Proxmox install took 20 minutes. The first networking misconfiguration locked me out of the management interface for two hours.

Standard.

See you on [Day 2 →](/blog/day-002-proxmox-cluster-and-first-vms) where we get Proxmox clustered and first VMs running.
