Skip to main content

Homelab Infrastructure

··962 words·5 mins·
Michael
Author
Michael
some dude that works on datacenters, plays guitar, streams, has a lot of side projects and unhealthy addiction to ow

Homelab Infrastructure
#

This document outlines the internal infrastructure of the wompmacho homelab. The lab is built on a high-speed 10GbE backbone and utilizes a hybrid architecture of dedicated NAS storage, Proxmox virtualization, and containerized services for media, self-hosting, and development.

[TOC]

Physical and hardware registry
#

Compute and virtualization
#

Node NameHardwareOSPrimary Role
router (10.0.0.1)GMKtec M5 Plus, Ryzen 7 5825U, 32GB RAM, Dual NIC 2.5GbEOPNsense 25.1Routing, Firewall, VPN
truenas (10.0.0.2)Core i7-7700K, 32GB RAM, Broadcom SAS 3008 (SAS 9300-8i)TrueNAS-25.04.1Primary Storage (10GbE), Media Apps
laptop-proxmox (10.0.0.142)Ryzen 7 5800H, 64GB RAM, 1TB WD BLACK + 500GB SSDProxmox VE 8.4.1Virtualization Host (2.5GbE)
game-pcCore i9-13900K, 64GB DDR5 6400, RTX 4080, Z790-CreatorWindows 11High-end Gaming / AI Inference (Ollama)

Networking hardware
#

  • Switch: NICGIGA 8-Port 10G Unmanaged Switch (10GbE Base-T).
  • WiFi: Linksys WiFi in bridge mode.
  • Modem: Comcast gateway (Bridged mode).
  • Camera: Amcrest IP Camera (WiFi) - IP: 10.0.0.194.

Power and environment
#

  • UPS: CyberPower CP1500PFCLCD (1500VA/1000W, Sine Wave).
  • Smart Control: TP-Link Tapo P115 Smart Plugs (15A/1800W Max).

Detailed hardware specifications
#

Storage node (truenas)
#

  • CPU: Intel Core i7-7700K @ 4.20GHz
  • Memory: 32GB RAM
  • HBA Controller: Broadcom SAS 3008 (SAS 9300-8i equivalent) PCIe 3.0 X8, 2x Mini SAS SFF-8643
  • Cables: Sonilco Mini SAS HDD SFF-8643 to 4 SFF-8482 with 15-pin Power Port Cord
  • Drives: 10x Seagate Enterprise Capacity 3.5 HDD (ST6000NM0034), 6TB 7.2K RPM SAS 12Gb/s 128MB Cache

Virtualization node (laptop-proxmox)
#

  • CPU: AMD Ryzen 7 5800H (8 Cores, 16 Threads)
  • Memory: 64GB Crucial RAM Kit (2x32GB) DDR4 3200MHz CL22 (CT2K32G4SFD832A)
  • Storage: 1TB WD_BLACK NVMe SSD (VM disks), 500GB SSD (Boot disk)

Router node (router)
#

  • Model: GMKtec M5 Plus Gaming Mini PC
  • CPU: AMD Ryzen 7 5825U with Radeon Graphics (8 cores, 16 threads)
  • Memory: 32GB RAM
  • Storage: 1TB SSD

Workstation / Gaming (game-pc)
#

  • CPU: Intel Core i9-13900K (24 cores: 8 P-cores + 16 E-cores)
  • Cooler: Noctua NH-D15 chromax.Black Dual-Tower CPU Cooler
  • Motherboard: ASUS ProArt Z790-Creator WiFi 6E LGA 1700
  • Memory: 64GB G.Skill Trident Z5 RGB Series (2 x 32GB) DDR5 6400 CL32-39-39-102 1.40V (F5-6400J3239G32GX2-TZ5RK)
  • GPU: ZOTAC Gaming GeForce RTX 4080 16GB AMP Extreme AIRO (ZT-D40810B-10P)
  • Storage: 1TB WD_BLACK SN770 NVMe Gaming SSD (WDS100T3X0E)
  • Power Supply: Corsair RM1000x (2021) Fully Modular ATX 80 PLUS Gold

Networking and power peripherals
#

  • Switch: NICGIGA 8-Port 10G Ethernet Switch Unmanaged (8x 10Gb Base-T Ports)
  • UPS: CyberPower CP1500PFCLCD PFC Sinewave UPS Battery Backup (1500VA/1000W)
  • Smart Plugs: TP-Link Tapo P115 Smart Plug Wi-Fi Mini (15A/1800W Max)

Networking architecture
#

Logical structure
#

  • LAN Subnet: 10.0.0.0/16
  • Default Gateway: 10.0.0.1 (OPNsense)
  • Primary DNS: 10.0.0.11 (Pi-hole)

VPN
#

  • Tunnel Subnet: 10.10.10.0/24
  • Phone Peer: 10.10.10.3/32

Storage infrastructure
#

Pool configuration
#

  • Topology: 1 x RAIDZ2 | 10-wide | 6TB SAS Drives.
  • Drives: Seagate Enterprise Capacity ST6000NM0034 (6TB 7.2K RPM SAS 12Gb/s).
  • HBA: Broadcom SAS 3008 (SAS 9300-8i equivalent) with Mini SAS SFF-8643 to 4 SFF-8482 cables.
  • Capacity: ~37.27 TiB Usable.

Virtualization cluster
#

The Proxmox virtualization host (laptop-proxmox) is an entirely separate physical node from the TrueNAS storage server. They communicate with each other primarily over the 10GbE backbone switch.

Proxmox node (laptop-proxmox - 10.0.0.142)
#

IDTypeHostnameIPRole
-LXCpihole10.0.0.11DNS Sinkhole / Local DNS
-VMdocker10.0.0.190Main Docker Host (Ubuntu 24.04)
-VMpterodactyl10.0.0.110Game Server Panel (Debian)

Docker services
#

These services run on the main Docker Host VM (10.0.0.190) and are proxied via Nginx Proxy Manager (SSL via Cloudflare).

Container NameMapped PortsAccessDescription / Role
nginx-proxy-manager80, 81, 443Internal/VPNReverse proxy for all internal and external domains
portainer8000, 9000, 9001, 9443Internal/VPNDocker container management GUI
cloudflare-ddns-Internal/VPNAutomatically updates dynamic IP to Cloudflare DNS
immich_server2283PublicPhoto/Video backup and gallery (immich.wompmacho.com)
immich_postgres5432 (Internal)Internal/VPNDatabase for Immich
immich_redis6379 (Internal)Internal/VPNCache for Immich
vaultwarden9998, 9999PublicSelf-hosted Bitwarden password manager (vaultwarden.wompmacho.com)
gitea222, 3001PublicInternal Git repository host (git.wompmacho.com)
gitea-db-15432 (Internal)Internal/VPNPostgreSQL Database for Gitea
gitea_runner-Internal/VPNCI/CD Action Runner for Gitea pipelines
frigate5000, 8554, 8555, 8971PublicAI NVR actively recording the Amcrest IP camera (frigate.wompmacho.com)
homepage7676Internal/VPNDashboard for navigation (http://homepage/)
docs-public9895PublicNginx serving public Hugo documentation (wiki.wompmacho.com)
docs-private9897Internal/VPNNginx serving private Hugo documentation (private)
paperless-ngx3003Internal/VPNDocument management system (http://paperless/)
sure3006Internal/VPNSelf-hosted shared finance tracking application (http://sure/)
audiobookshelf13378PublicAudiobook and podcast server (audiobookshelf.wompmacho.com)
webtop7978, 7979PublicBrowser-based desktop environment (webtop.wompmacho.com)
open-webui3007Internal/VPNChatGPT-like web interface connected to Ollama LLMs (http://gemma/)
linkstack80, 8190PublicPersonal link landing page
torrent8181, 8999Internal/VPNInternal/VPN (http://torrent/)
dozzle4343Internal/VPNInternal/VPN (http://dozzle/)

Media stack
#

These services are hosted on the TrueNAS node (truenas) and proxied via the Docker VM (10.0.0.190).

ServiceUpstream PortDescription
Sonarr30027TV Show Management
Radarr30025Movie Management
Lidarr30014Music Management
Readarr30045Book Management
Prowlarr30050Indexer Management
Bazarr30046Subtitle Management
Jellyfin30013Media Streaming Server
Jellyseerr30042Media Requests (jellyseer.wompmacho.com)

Self-Hosted AI Infrastructure
#

The lab includes a distributed self-hosted AI architecture utilizing the high-speed local network:

  • Compute Backend: The game-pc (10.0.0.109) runs Ollama, utilizing the RTX 4080 GPU to serve large language models (e.g., gemma4:26b, gemma4:e4b) over port 11434.
  • Web Interface: The open-webui container runs on the Docker VM (10.0.0.190), providing a ChatGPT-like RAG interface for general use, mapping /srv/open-webui for persistent chat and vector databases.
  • Developer Integration: VS Code instances (like code-server running directly on the Proxmox host) utilize the Continue.dev extension configured with MCP (Model Context Protocol) to execute autonomous terminal commands via the remote Ollama models.

Security and maintenance
#

  • SSL/TLS: Managed via Nginx Proxy Manager with Cloudflare DNS challenge.
  • Firewall: OPNsense handles all inter-VLAN and external routing.
  • Monitoring: Portainer for container health; UPS for power stability.