GeekLab — Industrial IoT Sandbox
GeekLab is a bare-metal development environment built on 4x HP EliteDesk Mini PCs, designed as a personal Industry 4.0 prototyping lab. It serves as the foundation for all IIoT integration projects and self-hosted AI experimentation.
The Problem
Industrial environments need reliable, low-latency data pipelines that can't depend on cloud connectivity. Standard SaaS solutions don't integrate well with OT systems, and cloud latency is unacceptable for real-time monitoring of critical rotating equipment.
The Solution
A fully self-hosted Kubernetes cluster running on bare metal, providing:
- High-availability PostgreSQL via CloudNativePG (3-node replication)
- Container orchestration via K3s with Rancher management
- Self-hosted AI via Ollama + Open WebUI for local LLM inference
- Monitoring stack with Grafana + InfluxDB for time-series data
- IIoT data flows from ESP32 sensors through LoRaWAN, MQTT, and Node-RED
Infrastructure Stack
| Layer | Technology | Purpose |
|---|---|---|
| Hypervisor | Proxmox VE | LXC containers & VMs on bare metal |
| Orchestration | K3s | Lightweight Kubernetes (1 Master, 3 Workers) |
| Database | CloudNativePG | Resilient PostgreSQL with automatic failover |
| AI/LLM | Ollama + Open WebUI | Self-hosted language models |
| Monitoring | Grafana + InfluxDB | Dashboards and time-series storage |
| IoT Gateway | Node-RED + HiveMQ | MQTT broker and flow-based automation |
Key Design Decisions
- Bare metal over cloud — Zero recurring costs, full control, sub-millisecond latency for sensor data.
- K3s over full K8s — Lightweight footprint for edge hardware while maintaining Kubernetes API compatibility.
- CloudNativePG over standalone PostgreSQL — Automatic failover, streaming replication, and backup without manual DBA work.
- Proxmox as the hypervisor — Mature, open-source, supports both LXC and full VMs. Perfect for mixed workloads.
What I Learned
Building infrastructure from scratch teaches you things no cloud console ever will. When a node goes down at 2 AM, you understand failover because you built the failover. This lab is where I prototype every solution before it touches a production environment.