First homelab — full phased plan, hardware locked, is this good, upgradeable, and future-proof?

Posted by Pablo_Gates@reddit | LocalLLaMA | View on Reddit | 3 comments

Done several targeted posts here and across r/selfhosted, r/MiniPCs, and r/LocalLLaMA over the past week. Most individual questions have been answered. Thanks all!

This is the full-picture post — I want a sanity check on the complete plan before I order.
Specifically interested in: is this a good foundation? Is it upgradeable? Anything obviously wrong with the phase sequence or hardware choices?

Goal

Replace paid cloud services and consolidate a scattered smart home:

Hardware — Phase 1

Chose K12 over Beelink SER8 (€559) specifically for the third M.2 slot, OCuLink (Phase 4 eGPU), and dual NIC (future pfSense/VLANs). The €270 delta felt right for always-on hardware.

Proxmox layout

Docker host runs as an unprivileged LXC with /dev/dri passthrough, not a VM. The AMD reset bug on Ryzen 8000 / 780M is not fixed in Proxmox 9.1 — it is a hardware issue. VM passthrough craps out on Proxmox-side reboots. LXC is the stable path, confirmed by multiple K12 owners.

Type Purpose RAM
VM Home Assistant OS 4 GB
LXC AdGuard Home 512 MB
LXC Tailscale 256 MB
Unprivileged LXC Docker host (everything else) 10 GB

All Docker services via docker compose up -d.

Phase sequence

LLM stack decision

llamacpp + Vulkan, not Ollama + ROCm. Vulkan is faster on AMD (confirmed by multiple people who tested both). Pre-built binaries available on the llama.cpp GitHub — no compilation. "Fit" is enabled by default. Open WebUI connects to the llamacpp server as a backend.

Questions

  1. Does the phase sequence make sense, or is there a better order? Specifically: Immich before HAOS, or HAOS first?
  2. Is NVMe-first (Phase 5 NAS only when the 2TB starts filling) reasonable, or should I add a NAS earlier for RAID redundancy on the photo library?
  3. The K12 third M.2 slot could take a third NVMe before needing a NAS — is that a valid intermediate step or does it just delay the inevitable?
  4. Anything about this plan that is obviously not upgradeable or will create a dead end I haven't seen?

Happy to share details on any part of the stack.