Globe
Ontario, Canada
Downtown Toronto

Homelab – Self-Hosted Playground

Part datacenter, part lab, part creative studio for experimenting with infrastructure and intelligence

Network Architecture

Redundant OPNsense firewalls and enterprise-grade networking built for high availability

Systems & Infrastructure

6-node Proxmox cluster running dozens of VMs across a fully segmented environment

Kubernetes

High-availability Kubernetes stack with load-balanced, self-healing services

Automations

End-to-end home automations powered by Home Assistant, MQTT, Zigbee, Python scripts, and custom ESP hardware

Homelab Overview

Homelab
Zoomed Homelab

I built this homelab to learn, test, and simulate the kind of distributed, high-availability systems found in real enterprise environments. Real cloud environments are expensive and restrictive, so I wanted a fully self-hosted space where I could experiment with architecture, AI, automation, networking, and platform engineering, without limits or ongoing costs.

Network Architecture

My network foundation mirrors a small enterprise environment: dual OPNsense HA firewalls, a 6-node Proxmox backbone, and a fully distributed Kubernetes platform. Load balancing, DNS, VPN, VLAN isolation, and cloud failover ensure the entire environment behaves like a production datacenter.

Systems & Infrastructure

Dozens of VMs and containers run compute, security, monitoring, storage, and voice/video services. Everything is tied together with observability (InfluxDB/Grafana), strict authentication, and automation-driven resilience. Cloud-connected OCI nodes provide a secondary footprint for redundancy and experimentation.

Automations

Home Assistant orchestrates a vast automation mesh powered by MQTT, custom firmware, backend services, and locally hosted APIs. Nearly every device: Zigbee, WiFi, BLE, sensors, motors, RF modules, displays, is unified through my single-pane-of-glass UI and event-driven automation engine.

AI & Machine Intelligence

AI runs locally, not in the cloud: on-prem LLMs, speech recognition, face recognition, OCR, and custom inference pipelines. My JARVIS assistant integrates voice, vision, and context to automate home and infrastructure tasks with real-time, fully offline intelligence.

Highlights:

    Compute & Virtualization

    • 6-node Proxmox cluster
    • ~40 VMs across multiple subnets
    • GPU passthrough / containers for AI workloads
    • ParrotOS pentesting VMs, RF analysis tools

    Networking & Security

    • Dual OPNsense HA firewalls
    • VLAN segmentation + intranet routing
    • Traefik & Nginx Kubernetes ingress
    • AdGuard DNS, DNS-over-TLS, Tailscale/OpenVPN
    • Fail2Ban, certificate automation

    Storage & Platforms

    • Longhorn distributed storage
    • NFS-Ganesha HA file services
    • InfluxDB + Grafana monitoring
    • Snapserver multi-zone audio with <2ms sync

    Automation & Development

    • Home Assistant (30k+ lines of YAML/JS/XML)
    • EMQX multi-node MQTT broker
    • Node.js backend + custom SPoG dashboard
    • Bash, Python, C++, and PowerShell automation
    • Android development (Android Studio + Tasker)

    IoT & Embedded Systems

    • 20+ custom ESP32/ESP8266 boards
    • LoRa, RF modules, BLE presence detection
    • RTL-SDR analysis tools
    • Custom sensors, motors, displays, wearables

    AI & Machine Intelligence

    • Local JARVIS assistant (Whisper + llama.cpp + Coqui)
    • Frigate NVR + Double-Take + Compreface
    • Pytesseract OCR automations
    • On-prem LLM, CV, and speech pipelines

My approach was to recreate enterprise infrastructure from the ground up using open-source tooling, HA design principles, and automation-first architecture. Everything is orchestrated through Proxmox, Kubernetes, HA networking, and event-driven automation. I combine virtualized services, embedded hardware, local AI, and custom software into one cohesive ecosystem: monitored, secured, self-healing, and scalable. The result is a hybrid playground and production-grade lab where I can prototype, test, break, and rebuild any system I want.