Skip to main content

Homelab Infrastructure

··1177 words·6 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.

Visual Guide

For a visual representation of the network and hardware layout, see the Infrastructure Diagrams.

[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)
#

  • Motherboard: Z170A GAMING PRO
  • CPU: Intel Core i7-7700K @ 4.20GHz (4 Cores / 8 Threads)
  • 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)
#

  • Laptop: Dell G15 5515 Laptop 15.6 inch FHD AMD Ryzen 7 5800h
  • 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)
  • GPU: Nvidia® GeForce® RTX™ 3060, 6 GB, GDDR6

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)
    • 8 P-Cores x 2 threads = 16 threads
    • 16 E-Cores x 1 thread = 16 threads
    • Total available vCPUs: 32 threads
  • 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 and Proxy
#

  • Tunnel Subnet: 10.10.10.0/24
  • Phone Peer: 10.10.10.3/32
  • Gluetun (Container VPN): Lightweight VPN gateway for p2p and sensitive services. It provides a container-level killswitch and manages shared network namespaces.
  • NPM & Pi-hole Automation: Sidecar containers (npm-sync and pihole-dns-shim) monitor the Docker socket and automatically provision Reverse Proxy hosts and local DNS records based on container Labels.

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
gluetun8181, 6565, 6881, etc.Internal/VPNVPN Gateway for other containers (http://torrent/, http://nicotine/)
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)
open-webui3007Internal/VPNChatGPT-like web interface connected to Ollama LLMs (http://gemma/)
openai3000Internal/VPNOpenAI-compatible API gateway
firefly3002Internal/VPNFirefly III personal finance manager
stream3005PublicVideo streaming service (stream.wompmacho.com)
reaper3010Internal/VPNAutomated media management tool
cabernet6077Internal/VPNIPTV/M3U proxy service
dev8443PublicDevelopment environment (dev.wompmacho.com)
coder8445Internal/VPNCoder / VS Code remote environment
slopsmith10101Internal/VPNCustom internal application
calibre32015Internal/VPNE-book management and server
linkstack80, 8190PublicPersonal link landing page
torrent(via Gluetun)Internal/VPNqBittorrent routed through VPN (http://torrent/)
nicotine(via Gluetun)Internal/VPNSoulseek client routed through VPN (http://nicotine/)
navidrome4533Internal/VPNPersonal music streaming server (http://music/)
picard5800Internal/VPNMusicBrainz Picard tagger GUI (http://picard/)
dozzle4343Internal/VPNReal-time Docker log viewer (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.