Files
docs-public/projects/homelab/homelab.md

10 KiB

title, description, author, date, tags
title description author date tags
Homelab Infrastructure This document outlines the internal infrastructure of the my homelab. wompmacho 2026-03-27
homelab
infrastructure
networking
virtualization

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 Name Hardware OS Primary Role
router (10.0.0.1) GMKtec M5 Plus, Ryzen 7 5825U, 32GB RAM, Dual NIC 2.5GbE OPNsense 25.1 Routing, Firewall, VPN
truenas (10.0.0.2) Core i7-7700K, 32GB RAM, Broadcom SAS 3008 (SAS 9300-8i) TrueNAS-25.04.1 Primary Storage (10GbE), Media Apps
laptop-proxmox (10.0.0.142) Ryzen 7 5800H, 64GB RAM, 1TB WD BLACK + 500GB SSD Proxmox VE 8.4.1 Virtualization Host (2.5GbE)
game-pc Core i9-13900K, 64GB DDR5 6400, RTX 4080, Z790-Creator Windows 11 High-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)

ID Type Hostname IP Role
- LXC pihole 10.0.0.11 DNS Sinkhole / Local DNS
- VM docker 10.0.0.190 Main Docker Host (Ubuntu 24.04)
- VM pterodactyl 10.0.0.110 Game 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 Name Mapped Ports Access Description / Role
nginx-proxy-manager 80, 81, 443 Internal/VPN Reverse proxy for all internal and external domains
portainer 8000, 9000, 9001, 9443 Internal/VPN Docker container management GUI
cloudflare-ddns - Internal/VPN Automatically updates dynamic IP to Cloudflare DNS
immich_server 2283 Public Photo/Video backup and gallery (immich.wompmacho.com)
immich_postgres 5432 (Internal) Internal/VPN Database for Immich
immich_redis 6379 (Internal) Internal/VPN Cache for Immich
vaultwarden 9998, 9999 Public Self-hosted Bitwarden password manager (vaultwarden.wompmacho.com)
gitea 222, 3001 Public Internal Git repository host (git.wompmacho.com)
gitea-db-1 5432 (Internal) Internal/VPN PostgreSQL Database for Gitea
gitea_runner - Internal/VPN CI/CD Action Runner for Gitea pipelines
frigate 5000, 8554, 8555, 8971 Public AI NVR actively recording the Amcrest IP camera (frigate.wompmacho.com)
homepage 7676 Internal/VPN Dashboard for navigation (http://homepage/)
docs-public 9895 Public Nginx serving public Hugo documentation (wiki.wompmacho.com)
docs-private 9897 Internal/VPN Nginx serving private Hugo documentation (private)
paperless-ngx 3003 Internal/VPN Document management system (http://paperless/)
sure 3006 Internal/VPN Self-hosted shared finance tracking application (http://sure/)
audiobookshelf 13378 Public Audiobook and podcast server (audiobookshelf.wompmacho.com)
webtop 7978, 7979 Public Browser-based desktop environment (webtop.wompmacho.com)
open-webui 3007 Internal/VPN ChatGPT-like web interface connected to Ollama LLMs (http://gemma/)
linkstack 80, 8190 Public Personal link landing page
torrent 8181, 8999 Internal/VPN Internal/VPN (http://torrent/)
dozzle 4343 Internal/VPN Internal/VPN (http://dozzle/)

Media stack

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

Service Upstream Port Description
Sonarr 30027 TV Show Management
Radarr 30025 Movie Management
Lidarr 30014 Music Management
Readarr 30045 Book Management
Prowlarr 30050 Indexer Management
Bazarr 30046 Subtitle Management
Jellyfin 30013 Media Streaming Server
Jellyseerr 30042 Media 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.