Hardware where it matters
The router owns its physical network card. The NAS owns the SAS controller and its disks so ZFS sees the storage directly. The AI VM receives a V100, P100, and M40; the media VM receives the second P100.
Hardware & homelab
The desktop I build on, and the homelab I learn in.
01 / My PC
A look at my personal setup.
Windows 11
64-bit
02 / Homelab
One rack server. A lot to learn.
My lab brings together the things I work on: virtual machines, storage, networking, self-hosted applications, and local AI. Some services are part of daily life; others are experiments I’m still building.
Documented October 7, 2026 · A snapshot of the setupSilicon Mechanics rack server, built around a Supermicro X10DRG-HT GPU motherboard.
Eleven defined VMs, ten running at the time of this snapshot. Expand a machine for its role and dedicated hardware.
Runs local language models through llama.cpp and llama-swap, OpenCode, ComfyUI, SearXNG, Tinyauth, and PostgreSQL. Services use systemd user units and rootless Podman Quadlets.
Tesla V100 16 GB, Tesla P100 16 GB, and Tesla M40 24 GB. The M40 is installed but idle.
Ubuntu Server VM provisioned for a future three-node k3s cluster. The operating system is installed; k3s is not installed yet.
Virtual disk and network interface
Second provisioned Ubuntu Server VM for the planned k3s cluster with embedded etcd. A Talos Linux cluster is a later learning project.
Virtual disk and network interface
Third provisioned Ubuntu Server VM for the planned k3s cluster. No Kubernetes workloads are running yet.
Virtual disk and network interface
Hosts the Podman media stack, including Jellyfin, Seerr, Navidrome, Nextcloud, FileBrowser Quantum, and Tdarr. A shared NAS path supports hardlinks; container state stays on the VM disk. An HLS proxy supports shared playback in VRChat.
Dedicated Tesla P100 16 GB for media processing
Manages three TP-Link Omada access points: two EAP720 units and one EAP725-Outdoor. Wireless clients use a separate network from server workloads.
Virtual disk and network interface
Routes IPv4 and IPv6 traffic between home devices, VLAN 10 (VMLAN) for virtual machines, and VLAN 20 (WLAN) for wireless clients. Provides firewall rules, DHCP with network-boot options, and IPv6 prefix delegation.
Intel 82599 dual-port 10 Gb SFP+ card passed through directly
Serves an iPXE installation menu for Windows 11, Arch, Debian, Ubuntu, and Rocky Linux. Boot entries are generated from JSON definitions, and install media is served from a read-only NAS folder.
Virtual disk and network interface
Manages 18 data drives in nine mirrored pairs, with three hot spares and approximately 20.7 TB usable capacity. Shares storage over NFS and SMB, with monthly ZFS scrubs.
Broadcom / LSI SAS2308 HBA and all 21 attached drives passed through directly
A stopped VM reserved for experiments. It does not start automatically with the host.
Virtual hardware
Runs nginx with HTTP/2 and HTTP/3, TLS termination, and reverse proxying. Configuration comes from Git; deployment validates it before reloading. Tinyauth provides sign-in gating for administrative applications.
Virtual disk and network interface
The router owns its physical network card. The NAS owns the SAS controller and its disks so ZFS sees the storage directly. The AI VM receives a V100, P100, and M40; the media VM receives the second P100.
OPNsense separates home devices, server VMs, and wireless clients. VLAN 10 (VMLAN) carries the virtual-machine network, while VLAN 20 (WLAN) carries wireless clients. A VLAN-aware Proxmox bridge connects the virtual workloads. The network supports both IPv4 and IPv6, with OPNsense handling routing, firewall rules, and IPv6 prefix delegation. nginx on the web VM provides the entry point for web applications.
The NAS exposes its dataset through NFS and SMB. Media applications share a consistent folder layout so imports can use hardlinks. The deployment VM reads only its own installation-media folder.
llama.cpp and llama-swap serve local models, with the V100 as the everyday card and the P100 available for split models. ComfyUI handles image generation. The driver and CUDA versions are deliberately pinned to support the older GPU generations.
Two EAP720 units and one EAP725-Outdoor, managed by the Omada controller VM.
Connects the access points.
Provides SFP+ connectivity for the lab. I'm looking to upgrade to a managed Layer 3 switch with more ports.
A separate Linux computer running Sunshine for game streaming, connected privately to the desktop.