Skip to content

Instantly share code, notes, and snippets.

@asad-albadi
Last active September 8, 2026 12:19
Show Gist options
  • Select an option

  • Save asad-albadi/35387bd422d295fd79416d42febe7f7d to your computer and use it in GitHub Desktop.

Select an option

Save asad-albadi/35387bd422d295fd79416d42febe7f7d to your computer and use it in GitHub Desktop.

🧠 Asad’s Homelab Documentation

🗂️ 1. Hardware Inventory

Device CPU RAM Storage GPU OS (Name & Version) Expandability Role Location
ThinkCentre M910q #1 Intel i5-6500T 16 GB 500 GB SSD Intel HD 530 Debian 12 RAM up to 32 GB, SSD replaceable Docker Services Host (Frigate, n8n…) RackMate T1
ThinkCentre M910q (pve3) Intel i5-6500 16 GB DDR4 Samsung 850 EVO 500 GB SATA Intel HD 530 Proxmox VE 9.2.2 RAM up to 32 GB, SSD replaceable Proxmox Cluster Node RackMate T1
ThinkCentre M710q (pve2) Intel i5-7400 16 GB DDR4 Kingston A400 240 GB + Crucial P3 500 GB NVMe Intel HD 630 Proxmox VE 9.2.2 RAM up to 32 GB, 2× storage Proxmox Cluster Node RackMate T1
ThinkCentre M710q (pve4) Intel i5-7400 32 GB DDR4 Crucial MX500 250 GB + 1 TB NVMe Intel HD 630 Proxmox VE 9.2.2 RAM up to 32 GB, 2× storage Proxmox Cluster Node (strongest) RackMate T1
RiftRaven Firewall Intel Celeron J4125 8 GB 128 GB mSATA Intel UHD 600 OPNsense 14.2 RAM up to 16 GB, SSD replaceable Network Firewall & Gateway RackMate T1
TrueNAS Core Server Intel N6005 16 GB 128 GB NVMe (OS) + Storage Pool iGPU TrueNAS Core 6 SATA bays, RAM up to 64 GB Central Storage & Backup (Plex jail) External (Node 304)
Raspberry Pi 4 (×4) Cortex-A72 1.5 GHz 4 GB each microSD VideoCore VI Raspberry Pi OS USB storage, HAT expansion Utility / Edge Compute Nodes RackMate T1
Raspberry Pi 5 Cortex-A76 2.4 GHz 8 GB microSD VideoCore VII Raspberry Pi OS PCIe via HAT, USB storage High-Performance Edge / Controller Node RackMate T1
Mac Mini M4 Apple M4 16 GB Internal NVMe Apple M4 GPU macOS 15.7.1 None Primary Development & AI Workload Desk Setup
GMKTEC K8 Plus Ryzen 7 8845HS 32 GB 1 TB NVMe Radeon 780M Windows 11 Pro / Pop!_OS COSMIC RAM up to 96 GB, 2× NVMe Development (desk) Desk Setup
ASUS TUF F15 Intel i5-11300H 8 GB 500 GB NVMe RTX 3050 + Iris Xe Windows / Linux RAM, SSD Mobile Development Portable / Desk
Main Gaming PC Ryzen 9 9950X 64 GB 1 TB + 4 TB NVMe + 4 TB HDD RX 9070XT Windows 11 Fully expandable Primary Gaming Desk Setup

🌐 Network Equipment

Device Model Key Specs Role
RiftRaven Firewall OPNsense (Intel J4125) 4x 2.5G LAN · 8 GB · 128 GB Gateway / firewall / DNS
Core Switch UniFi USW-Flex-2.5G-8-PoE 8x 2.5G PoE++ · 10G uplink · 76W PoE Main aggregation switch
Desk Switch UniFi USW-Flex-2.5G-5 5x 2.5G · PoE-powered · no PoE out Desktop / office switch
Entertainment Switch UniFi USW-Flex-Mini 5x 1G · PoE-powered (802.3af) · no PoE out Office entertainment center
Lite Switch UniFi USW-Lite-16-PoE 16x 1G (8 PoE+) · 45W PoE Homelab + CCTV switch
Access Point UniFi U7 Pro Max WiFi 7 · 2.5G uplink · PoE+ Wi-Fi coverage

📺 Peripherals & Endpoints

Device Model / Spec Connection
CCTV Reolink RLC-833A · 4K 8MP · 3x zoom · PoE · IP67 Lite Switch (PoE)
Office TV Samsung S90C · QD-OLED 4K · 120Hz (up to 144Hz) Entertainment Switch
Living Room TV Xiaomi MiTV-MOOR2 · 4K UHD · Android TV 11 Lite Switch (1G)
Anker Prime Charger A2345 · 250W · 6-port GaNPrime · smart display Wi-Fi (2.4G)
3D Printer Elegoo Centauri Carbon 2 · CoreXY · 256³ · 500 mm/s Wi-Fi
3D Printer Creality Hi · FDM · 260×260×300 · 500 mm/s Wi-Fi

🧱 Proxmox Cluster

Three-node Proxmox VE 9.2.2 cluster (internal IPs redacted). m910q-01 runs Docker separately and is not part of this cluster.

Node Model CPU RAM System Disk VM/LXC Storage Current Guests
pve2 ThinkCentre M710q i5-7400 4C/4T 16 GB DDR4 Kingston A400 240 GB SATA Crucial P3 500 GB NVMe dokploy-01 (VM 100), homeassistant (VM 101)
pve3 ThinkCentre M910q i5-6500 4C/4T 16 GB DDR4 Samsung 850 EVO 500 GB SATA Same system disk wa-notify (LXC 102), observability-01 (VM 105)
pve4 ThinkCentre M710q i5-7400 4C/4T 32 GB DDR4 Crucial MX500 250 GB SATA 1 TB NVMe None yet

Storage Mapping

Storage ID Node Physical device Size Purpose
local-lvm Each node System SATA SSD Varies Local VM/LXC storage
pve2-nvme pve2 Crucial P3 500 GB NVMe ~456 GB VM/LXC disks
nvme-data pve4 1 TB NVMe ~935 GB VM/LXC disks
true_nas_backup All nodes TrueNAS NFS ~11 TB Backups, ISOs, templates

Workload Placement

  • pve4 — heavier VMs, database workloads, future QueueWing workload (most free RAM + largest NVMe pool; best migration target)
  • pve2 — Home Assistant, Dokploy, medium workloads
  • pve3 — observability, wa-notify, lighter services

🕸️ 2. Network & Compute Architecture

---
config:
  flowchart:
    theme: redux-dark
    look: neo
---
flowchart TD
  ISP_MODEM["ISP Modem"]
  FIREWALL["RiftRaven<br/>OPNsense<br/>J4125 · 8 GB · 128 GB<br/>4x 2.5G"]
  CORE_SW["Core Switch<br/>USW-Flex-2.5G-8-PoE<br/>8x 2.5G PoE++ · 10G uplink · 76W"]
  DESK_SW["Desk Switch<br/>USW-Flex-2.5G-5<br/>5x 2.5G · PoE-powered · no PoE out"]
  MINI_SW["Entertainment Switch<br/>USW-Flex-Mini<br/>5x 1G · PoE-powered · no PoE out"]
  LITE_SW["Lite Switch<br/>USW-Lite-16-PoE<br/>16x 1G (8 PoE+) · 45W"]
  AP["AP<br/>U7 Pro Max<br/>WiFi 7 · 2.5G uplink · PoE+"]
  CAM["CCTV<br/>Reolink RLC-833A<br/>4K 8MP · 3x optical zoom · PoE (802.3af) · IP67"]
  LR_TV["Living Room TV<br/>Xiaomi MiTV-MOOR2<br/>4K UHD · Android TV 11"]

  subgraph PRINTERS["3D Printers"]
    PRN_CC2["Elegoo Centauri Carbon 2<br/>CoreXY · 256³ mm · 500 mm/s · 350°C"]
    PRN_HI["Creality Hi<br/>FDM · 260x260x300 mm · 500 mm/s · 300°C"]
  end

  subgraph HOMELAB["Homelab"]
    NAS["TrueNAS Core<br/>Intel N6005 · 16 GB"]
    P1["m910q-01<br/>Debian · i5-6500T · 16 GB · 500 GB SSD"]
    subgraph CLUSTER["Proxmox Cluster"]
      PVE2["pve2<br/>M710q · i5-7400 · 16 GB"]
      PVE3["pve3<br/>M910q · i5-6500 · 16 GB"]
      PVE4["pve4<br/>M710q · i5-7400 · 32 GB"]
    end
  end

  subgraph DESKTOP["Desktop / Office"]
    MMM4["Development PC<br/>Mac Mini M4 · 16 GB"]
    K8P["Development PC<br/>GMKTEC K8 Plus · Ryzen 7 8845HS · 32 GB"]
    GPC["Gaming PC SY-WINDv2<br/>Ryzen 9 9950X · 64 GB · RX 9070XT"]
    WPC["Sleeper PC"]
    CHARGER["Anker Prime Charger (A2345)<br/>250W · 6-port (4 USB-C + 2 USB-A) · GaNPrime"]
  end

  TV["Office TV<br/>Samsung S90C<br/>QD-OLED 4K · 120Hz (up to 144Hz)"]

  ISP_MODEM -->|WAN| FIREWALL
  FIREWALL -->|LAN| CORE_SW

  CORE_SW -->|2.5G + PoE| DESK_SW
  CORE_SW -->|1G + PoE| MINI_SW
  CORE_SW -->|1G| LITE_SW
  CORE_SW -->|2.5G| NAS
  CORE_SW -->|PoE| AP

  AP -.->|WiFi| PRN_CC2
  AP -.->|WiFi| PRN_HI
  AP -.->|WiFi 2.4G| CHARGER

  DESK_SW --> MMM4
  DESK_SW --> K8P
  DESK_SW --> GPC
  DESK_SW --> WPC

  MINI_SW -->|1G| TV

  LITE_SW -->|PoE| CAM
  LITE_SW -->|1G| P1
  LITE_SW -->|1G| PVE2
  LITE_SW -->|1G| PVE3
  LITE_SW -->|1G| PVE4
  LITE_SW -->|1G| LR_TV
Loading

☁️ 3. Cloudflare Zero-Trust Integration

Overview

My entire homelab is securely exposed through Cloudflare Zero Trust, using my main domain:

asadalbadi.dev

This allows me to publish internal services without opening inbound ports on my firewall.

CIDR

All internal addressing is private and fully redacted for security.


Published Application Routes

Public Hostname Service Name Internal Target
abs.asadalbadi.dev Audiobookshelf audiobookshelf:3006
hc.asadalbadi.dev Plex Media Server plex:32400
ha.asadalbadi.dev Home Assistant homeassistant-vm:8123
mc.asadalbadi.dev Minecraft Server minecraft:25565
n8n.asadalbadi.dev n8n Automation n8n:5678
termix.asadalbadi.dev Termix Web Terminal termix:3017
metube.asadalbadi.dev MeTube metube:8081

All routes are delivered over Cloudflare Tunnel, no direct inbound firewall exposure.


🧰 4. Services & Workloads

🐳 m910q-01 — Docker Services (Debian)

Service Port Purpose
Audiobookshelf 3006 Audiobook / media library
MySpeed 3014 Internet speed monitoring
Termix 3017 Web terminal / SSH manager
Arcane 3552 Docker / container management
n8n 5678 Automation workflows
qBittorrent / qui 7476 Torrent web UI
MeTube 8081 Media downloader
UniFi Controller 8443 Network controller
Frigate 8971 NVR / camera AI detection
Minecraft Server 25565 Game server

🧱 Proxmox Cluster — Workloads

Node Guest Type Purpose
pve2 dokploy-01 VM SaaS / app hosting platform
pve2 homeassistant VM Smart home dashboard
pve3 wa-notify LXC WhatsApp notification service
pve3 observability-01 VM Monitoring / observability
pve4 (none yet) Spare capacity

📁 TrueNAS Core

Service Port Purpose
Plex 32400 Media server (jail)
MinIO 9002 S3 object store (jail) — Dokploy volume/DB backups

🛡️ Infrastructure

Service Host Purpose
OPNsense RiftRaven Routing, firewall, DNS, VPN
Proxmox VE pve2 / pve3 / pve4 cluster Virtualization cluster
TrueNAS Core NAS Storage backend

🏁 Summary

This homelab is built around:

  • Mixed compute (3-node Proxmox cluster: M910q + 2× M710q, plus a Debian Docker host on M910q)
  • Strong network security (OPNsense + Cloudflare Zero Trust)
  • Full UniFi network (2.5G core, PoE switching, WiFi 7)
  • Reliable storage (TrueNAS + RAID)
  • Scalable container platform
  • Clean physical rack deployment (RackPi 10″ T1)

It serves as both my production environment and personal cloud, hosting development, automation, media, gaming, and smart-home infrastructure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment