# Homelab Build Planner — Complete Planning Workbook

*GeniusTechLab Digital Guide*
*Version 1.0 — August 2026*

---

## How to Use This Planner

This planner walks you through every decision in building a homelab: from purpose definition through hardware selection, power budgeting, network topology, and software stack. Fill in the worksheets as you go. By the end, you'll have a complete build spec ready to order.

---

## Phase 1: Define Your Purpose

### 1.1 Workload Worksheet

| Workload | Priority (1-5) | CPU Need | RAM Need | Storage Need | GPU Need |
|----------|-----------------|----------|----------|--------------|----------|
| File storage / NAS | | Low | 4-8GB | High | None |
| Media server (Plex/Jellyfin) | | Medium | 8-16GB | High | Optional (transcoding) |
| Virtualization (Proxmox) | | High | 32-128GB | Medium | None |
| Docker containers | | Medium | 16-64GB | Low-Medium | None |
| AI/ML inference | | Medium | 16-32GB | Medium | High |
| Game server | | Medium | 8-16GB | Low-Medium | None |
| CI/CD pipeline | | Medium | 16-32GB | Medium | None |
| Home automation | | Low | 4-8GB | Low | None |
| VPN gateway | | Low | 2-4GB | Low | None |
| Testing/lab environment | | High | 32-64GB | Medium | Optional |

**Your total RAM estimate**: Sum the highest-priority workloads + 20% overhead = _______ GB

### 1.2 Growth Planning

- What will you add in 6 months? ___________________
- What will you add in 12 months? ___________________
- Multiply your current RAM/storage estimates by 1.5 to leave room for growth.

---

## Phase 2: Hardware Selection

### 2.1 Hardware Selection Matrix

Score each candidate (1-5) across criteria. Highest total wins.

| Criteria | Weight | Option 1: ___ | Option 2: ___ | Option 3: ___ |
|----------|--------|---------------|---------------|---------------|
| CPU performance | x3 | | | |
| RAM capacity/max | x3 | | | |
| Storage bays/NVMe | x2 | | | |
| GPU support | x2 | | | |
| Power consumption | x2 | | | |
| Noise level | x1 | | | |
| Size/form factor | x1 | | | |
| Price (lower=better) | x3 | | | |
| Community support | x1 | | | |
| Warranty/reliability | x1 | | | |
| **Weighted Total** | | | | |

### 2.2 Recommended Hardware Tiers (August 2026)

**Budget Tier ($500-800)**
- Mini PC: Beelink SER8 (Ryzen 8845HS, 32GB) or Lenovo ThinkCentre Tiny
- External DAS for storage: 4-bay USB enclosure
- Good for: Docker, lightweight VMs, home automation, NAS via DAS

**Mid-Range Tier ($1,000-2,500)**
- Custom build: Ryzen 7 8700G / Intel Core i5-14400
- 64GB DDR5 RAM
- 4-6 SATA bays or 2x NVMe + 4x SATA
- Good for: Proxmox with 10+ VMs, media server, moderate AI inference

**Server Tier ($2,500-5,000)**
- AMD EPYC / Threadripper or Intel Xeon W
- 128-256GB ECC RAM
- 6-8 hot-swap bays + 2x NVMe for cache
- Optional: Used server (Dell R730, HPE DL380 Gen10)
- Good for: Full virtualization stack, AI training, multi-tenant

**AI/ML Tier ($3,000-8,000)**
- Workstation: Threadripper 7980X or dual-socket server
- 128-256GB RAM
- 1-2x RTX 4090 or used A5000/A6000
- 4x NVMe in RAID
- Good for: Local LLM inference (70B+ models), fine-tuning, GPU passthrough

### 2.3 Storage Architecture

**Storage Tiers (configure per workload):**

| Tier | Type | Purpose | Redundancy | Example |
|------|------|---------|------------|---------|
| Tier 0 | NVMe Gen4/5 | VM disks, databases, cache | RAID 1 or ZFS mirror | 2x 2TB NVMe |
| Tier 1 | SATA SSD | Docker volumes, app data | ZFS RAIDZ1 or RAID 10 | 4x 4TB SSD |
| Tier 2 | HDD (CMR) | Bulk storage, media, backups | ZFS RAIDZ2 | 4-8x 16TB HDD |

**Critical: Buy CMR (not SMR) drives for NAS/RAID. SMR drives will destroy ZFS performance.**

Recommended NAS drives (2026):
- Seagate IronWolf Pro (CMR, 5yr warranty)
- WD Red Pro (CMR, 5yr warranty)
- Toshiba N300 (CMR, 3yr warranty)

### 2.4 Power Budget Calculator

| Component | Quantity | Watts each | Total Watts |
|-----------|----------|------------|-------------|
| CPU (TDP) | 1 | ___ | ___ |
| GPU (if any) | ___ | ___ | ___ |
| RAM (per 16GB) | ___ | 3W | ___ |
| Storage (per HDD) | ___ | 7W | ___ |
| Storage (per SSD/NVMe) | ___ | 5W | ___ |
| Fans | ___ | 2W | ___ |
| Motherboard + peripherals | 1 | 30W | 30W |
| PSU inefficiency (×1.15) | | | ___ |
| **Total peak draw** | | | **___ W** |
| **UPS recommendation** | | | Total × 1.3 minimum |

**UPS sizing**: Get a UPS rated for at least 1.3× your peak draw. For a 400W homelab, get a 600W+ UPS (e.g., APC BR1500G or CyberPower CP1500).

---

## Phase 3: Network Topology

### 3.1 Network Design Template

```
[Internet] → [Modem] → [Router/Firewall] → [Switch]
                                      ↓
                                 [WiFi APs]
                                      ↓
                                 [IoT VLAN] [Main VLAN] [Guest VLAN] [Server VLAN]
```

### 3.2 VLAN Segmentation Plan

| VLAN ID | Name | Subnet | Purpose | Internet Access | Inter-VLAN |
|---------|------|--------|---------|------------------|------------|
| 1 | Management | 10.0.1.0/24 | Network gear, switches, APs | No (except updates) | Restricted |
| 10 | Main/LAN | 10.0.10.0/24 | Personal devices, PCs | Yes | Restricted |
| 20 | Servers | 10.0.20.0/24 | Homelab servers, Proxmox | Yes | Restricted |
| 30 | IoT | 10.0.30.0/24 | Smart home, cameras | No (NTP only) | Blocked |
| 40 | Guest | 10.0.40.0/24 | Guest WiFi | Yes (isolated) | Blocked |
| 50 | Media | 10.0.50.0/24 | Media players, TV | Yes (limited) | Media share only |
| 60 | Lab/Testing | 10.0.60.0/24 | Experiments | Yes | Open within VLAN |

### 3.3 Firewall Rules Worksheet

| # | Source | Destination | Protocol/Port | Action | Log | Notes |
|---|--------|-------------|---------------|--------|-----|-------|
| 1 | LAN | Internet | HTTPS/443 | Allow | No | General internet |
| 2 | IoT | Internet | Any | Deny | Yes | Block IoT WAN |
| 3 | IoT | Internet | UDP/123 | Allow | No | NTP only |
| 4 | Guest | LAN | Any | Deny | Yes | Isolate guests |
| 5 | LAN | Servers | SSH/22 | Allow (auth) | Yes | Admin access |
| 6 | Internet | Servers | Any | Deny | Yes | Default deny |
| 7 | Servers | Internet | HTTPS/443 | Allow | No | Updates |
| 8 | Media | Servers (Plex) | TCP/32400 | Allow | No | Media access |

### 3.4 Recommended Network Hardware (2026)

| Component | Budget | Mid-Range | Pro |
|-----------|--------|-----------|-----|
| Router/Firewall | pfSense on mini PC ($200) | OPNsense on Protectli ($400) | Netgate 6100 ($900) |
| Switch (managed) | TP-Link TL-SG108E ($80) | MikroTik CRS328 ($250) | UniFi Pro 24 ($500) |
| WiFi AP | TP-Link EAP652 ($100) | UniFi U6 Pro ($180) | UniFi U7 Pro ($300) |
| UPS | APC BR1000G ($200) | CyberPower CP1500 ($250) | APC SmartUPS 1500 ($500) |

---

## Phase 4: Software Stack

### 4.1 Hypervisor Comparison

| Feature | Proxmox VE | ESXi (free) | Hyper-V | KVM/libvirt |
|---------|-----------|-------------|---------|-------------|
| Cost | Free | Free (limited) | Included with Windows | Free |
| Web UI | Yes (excellent) | Yes (good) | No (RSAT) | No (virt-manager) |
| ZFS support | Native | No | No | Yes |
| Docker/LXC | LXC native | No | No | Yes (LXD) |
| Backup | PBS integration | Veeam | Veeam | Manual/script |
| GPU passthrough | Yes | Yes (with effort) | Yes | Yes |
| Community | Excellent | Good | Good | Excellent |
| **Recommendation** | **Best for homelab** | Good for learning VMware | If Windows-focused | For CLI lovers |

### 4.2 Core Services Stack

| Service | Application | Resource | Why |
|---------|-------------|----------|-----|
| Hypervisor | Proxmox VE 8.x | 4GB RAM | LXC + KVM + ZFS + backup |
| NAS | TrueNAS Scale | 8GB RAM | ZFS, SMB, NFS, snapshots |
| Docker management | Portainer | 1GB RAM | Easy container management |
| Reverse proxy | Traefik / Caddy | 512MB RAM | Auto HTTPS, routing |
| DNS ad-blocking | Pi-hole / AdGuard | 512MB RAM | Network-wide ad blocking |
| Monitoring | Grafana + Prometheus | 2GB RAM | Metrics, dashboards, alerts |
| Log aggregation | Loki / Graylog | 2GB RAM | Centralized logs |
| Identity | Authentik / Authelia | 1GB RAM | SSO, 2FA, access control |
| Secrets | HashiCorp Vault | 1GB RAM | Secret management |
| Git | Gitea | 1GB RAM | Private git hosting |
| CI/CD | Woodpecker / Drone | 1GB RAM | Self-hosted CI |
| Dashboard | Homepage / Dashy | 256MB RAM | Service dashboard |

**Minimum RAM for full stack: ~22GB + workloads**

### 4.3 Docker Compose Template

```yaml
version: "3.9"
# Homelab Core Services
# Generated from GeniusTechLab Homelab Build Planner

services:
  portainer:
    image: portainer/portainer-ce:latest
    ports: ["9443:9443"]
    volumes: ["/var/run/docker.sock:/var/run/docker.sock", "portainer_data:/data"]
    restart: unless-stopped

  traefik:
    image: traefik:latest
    command:
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.le.acme.email=YOUR_EMAIL"
      - "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
      - "--certificatesresolvers.le.acme.tlschallenge=true"
    ports: ["80:80", "443:443"]
    volumes: ["/var/run/docker.sock:/var/run/docker.sock", "traefik_data:/letsencrypt"]
    restart: unless-stopped

  pihole:
    image: pihole/pihole:latest
    environment:
      TZ: "Australia/Adelaide"
      WEBPASSWORD: "CHANGE_ME"
    ports: ["53:53/tcp", "53:53/udp", "8080:80"]
    volumes: ["pihole_data:/etc/pihole", "dnsmasq_data:/etc/dnsmasq.d"]
    restart: unless-stopped

  grafana:
    image: grafana/grafana:latest
    ports: ["3000:3000"]
    volumes: ["grafana_data:/var/lib/grafana"]
    restart: unless-stopped

  prometheus:
    image: prom/prometheus:latest
    volumes: ["./prometheus.yml:/etc/prometheus/prometheus.yml", "prom_data:/prometheus"]
    restart: unless-stopped

volumes:
  portainer_data:
  traefik_data:
  pihole_data:
  dnsmasq_data:
  grafana_data:
  prom_data:
```

---

## Phase 5: Proxmox Configuration Cheat Sheet

### 5.1 Installation

```bash
# Install Proxmox VE 8.x on bare metal
# Download: https://www.proxmox.com/en/downloads
# Boot from USB, follow installer

# Post-install: update repositories
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
apt update && apt full-upgrade -y
```

### 5.2 ZFS Pool Setup

```bash
# Create mirrored pool (2 disks)
zpool create -o ashift=12 -O compression=zstd-3 -O atime=off \
  -O xattr=sa -O mountpoint=/tank mirror /dev/sda /dev/sdb

# Create datasets for different workloads
zfs create tank/vms       # VM disk images
zfs create tank/containers # LXC storage
zfs create tank/backups    # Proxmox Backup
zfs create tank/media      # Media files
zfs create tank/shared     # Shared data

# Enable snapshots (hourly, daily, weekly)
znapzendzetup create --recursive --donotask \
  src 'tank/vms' \
  mbuffer_size 1G \
  dst_a 'tank/backups/vms' --interval '1h' --keep 24 \
  --interval '1d' --keep 7 \
  --interval '1w' --keep 4
```

### 5.3 GPU Passthrough for AI Workloads

```bash
# Enable IOMMU in GRUB
echo "GRUB_CMDLINE_LINUX_DEFAULT=\"quiet intel_iommu=on iommu=pt\"" >> /etc/default/grub
update-grub

# Load VFIO modules
cat >> /etc/modules << 'EOF'
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
EOF

# Bind GPU to VFIO (example: RTX 4090, IDs from lspci -nn)
echo "options vfio-pci ids=10de:2684,10de:22a1" > /etc/modprobe.d/vfio.conf

# Reboot, then in VM config:
# Add: hostpci0: 01:00,x=vga,pcie=on,rombar=1
```

---

## Phase 6: TrueNAS Scale Cheat Sheet

### 6.1 Pool Creation
- Use RAIDZ2 minimum (survive 2 disk failures)
- Set ashift=12 for 4K-sector drives
- Enable LZ4 compression (low overhead)
- Set atime=off (performance)
- Set recordsize=1M for media, 128K for VMs, 16K for databases

### 6.2 Share Setup
- SMB: For Windows/CIFS clients. Enable SMB3, disable SMB1.
- NFS: For Linux clients and Proxmox storage.
- iSCSI: For block-level access to VMs.

### 6.3 Snapshot Strategy
| Dataset | Frequency | Retention |
|---------|-----------|-----------|
| VM disks | Every 15 min | 4 hours |
| App data | Hourly | 24 hours |
| Media | Daily | 7 days |
| Photos | Hourly | 7 days daily + 12 monthly |
| Backups | Weekly | 4 weeks |

---

## Phase 7: Security Hardening Checklist

- [ ] Change all default passwords (Proxmox root, TrueNAS admin, router)
- [ ] Disable SSH password auth (key-only)
- [ ] Enable firewall on all interfaces
- [ ] Set up VLAN segmentation (minimum: IoT isolated from LAN)
- [ ] Enable 2FA on Proxmox, TrueNAS, Portainer, Pi-hole
- [ ] Restrict web UIs to LAN or VPN access only
- [ ] Enable ZFS snapshots on all datasets
- [ ] Set up automated backups (Proxmox Backup Server or rsync.net)
- [ ] Install fail2ban on all exposed services
- [ ] Enable TLS on all web services (Traefik/Caddy auto-Let's Encrypt)
- [ ] Configure DNS ad-blocking (Pi-hole/AdGuard)
- [ ] Document all credentials in a password manager (Bitwarden)
- [ ] Enable SMART monitoring and disk failure alerts
- [ ] Set up UPS with auto-shutdown on power loss
- [ ] Regular security updates (at least monthly)

---

## Phase 8: Maintenance Schedule

| Frequency | Task |
|-----------|------|
| Daily | Check SMART errors, ZFS pool status |
| Weekly | Check backup success, update containers |
| Monthly | Apply OS security patches, review logs |
| Quarterly | Test backup restore, audit firewall rules |
| Bi-annually | Clean dust from fans, check UPS battery |
| Annually | Full hardware inspection, review capacity needs |

---

## Build Spec Template (Fill In)

```
BUILD NAME: _____________________
DATE: __________________________
PURPOSE: _______________________

HARDWARE:
  CPU: ___________________________
  Motherboard: ___________________
  RAM: _______ GB (__x __GB sticks)
  Storage:
    Boot: _________________________
    Data: ___x _____ = _______TB usable
    Cache: _________________________
  GPU: ___________________________
  PSU: _____________W (brand/model)
  Case: __________________________
  UPS: ___________________________

NETWORK:
  Router: ________________________
  Switch: ________________________
  APs: __________________________
  VLANs configured: ______________

SOFTWARE:
  Hypervisor: ____________________
  NAS: ___________________________
  Services: _____________________
  Monitoring: ___________________

POWER:
  Peak draw: _________W
  UPS runtime estimate: _______ min

COST BREAKDOWN:
  Hardware: $___________
  Network:  $___________
  Software: $___________
  TOTAL:    $___________

NOTES:
  _______________________________
  _______________________________
```

---

*© 2026 GeniusTechLab. This guide is for the purchaser's personal use. Do not redistribute. Contact us for team/site licensing.*