# 🧠 Ced’s HomeLab (Enterprise Infrastructure & Monitoring Lab) > A production-style infrastructure lab showcasing real-world systems engineering, monitoring, and platform operations. This environment functions as a **personal datacenter**, combining virtualization, Kubernetes orchestration, observability, and secure external access. --- ## πŸš€ What This Lab Demonstrates - Infrastructure design (Proxmox + virtualized services) - Kubernetes orchestration (12-node K3s cluster) - Network segmentation (VLAN architecture) - Monitoring & observability (Grafana, Prometheus, Uptime Kuma) - Secure service exposure (Cloudflare Tunnels + reverse proxy) - Real-world system integration (data, services, automation) ## πŸ”₯ Featured Project: SOC Lab A focused project within this homelab that demonstrates monitoring, logging, and security concepts. πŸ‘‰ [View SOC Lab Project](soc-lab/README.md) --- ## πŸ—οΈ Architecture Overview This lab is built around three core layers: ### πŸ–₯️ Infrastructure Layer - Proxmox VE hypervisor - Virtual Machines + LXC containers - TrueNAS storage backend (ZFS, NFS, SMB) ### ☸️ Orchestration Layer - 12-node K3s Kubernetes cluster - Workload segmentation (ingress, data, monitoring) - MetalLB + NGINX ingress ### 🌐 Access & Networking Layer - VLAN segmented network (UDR) - Nginx Proxy Manager - Cloudflare Tunnel (zero port-forwarding) --- ## 🎯 Purpose This lab is designed to: - Simulate production-style environments - Build hands-on infrastructure experience - Develop monitoring and system visibility skills - Serve as a real-world engineering portfolio project --- ## πŸ“Έ Key System Views ### πŸ–₯️ Proxmox Infrastructure ![Proxmox](screenshots/proxmox-overview.png) ### πŸ–₯️ Proxmox Workloads ![Proxmox](screenshots/proxmox-overview2.png) ### ☸️ K3s Cluster Nodes & Pods ![K3s Nodes](screenshots/K3s-nodes.png) ### 🌐 Reverse Proxy (Nginx Proxy Manager) ![Nginx](screenshots/NGN.png) ### πŸ“Š Service Monitoring (Uptime Kuma) ![Uptime Kuma](screenshots/uptime-kuma.png) ### πŸ“Š Grafana Dashboard ![Grafana](screenshots/grafana.png) ### πŸ“Š Grafana Dashboard ![Grafana](screenshots/grafana2.png) --- ## 🌐 Network & VLANs The lab runs behind a UniFi Dream Router (UDR) with VLAN segmentation: | Network | Subnet | Purpose | |--------|--------|--------| | Main | 10.10.10.0/24 | Daily-use devices | | MyHomeIOT | 10.10.20.0/24 | IoT devices, TVs, consoles | | HomeLab | 10.10.30.0/24 | Servers, services, K3s, storage | | Guest | 10.10.99.0/24 | Guest Wi-Fi | The HomeLab VLAN (10.10.30.0/24) hosts all core infrastructure. --- ## 🧱 Core Components ### πŸ–₯️ Proxmox VE - Main hypervisor for VMs and LXCs - Future expansion to a Proxmox cluster (+5 nodes) - Uses TrueNAS for shared storage (NFS / iSCSI) πŸ“ See: `proxmox/` --- ### πŸ’Ύ TrueNAS (ZFS Storage) - Manages ZFS pools and datasets - NFS exports for Proxmox VM storage - SMB / media dataset for Jellyfin & Arr stack πŸ“ See: `truenas/` --- ### ☸️ K3s Raspberry Pi Cluster A 12-node K3s cluster built on Raspberry Pi hardware for orchestrating containerized workloads across the lab. Current and planned uses include: - Containerized applications - Ingress-based routing - Monitoring workloads - Future GitOps and Helm-based deployments πŸ“Œ Full cluster repo: https://github.com/ced4568/ced-k3s-homelab --- ### 🌐 Reverse Proxy & Cloudflare Tunnel - Nginx Proxy Manager (NPM) - Cloudflare Tunnel (no port forwarding) - Wildcard DNS: `*.cedshomelab.com` **Traffic Flow:** Internet β†’ Cloudflare Edge β†’ Tunnel β†’ NPM β†’ Internal Services πŸ“ Docs: `docs/Add_New_Service_Guide.md` --- ### 🏠 Home Automation - Home Assistant (Proxmox VM) - IoT isolated on MyHomeIOT VLAN - Secure access via Cloudflare + NPM - `trusted_proxies` configured πŸ“ Config: `home-assistant/` --- ### πŸ“Š Observability (Ced’s NOC) The lab includes an observability stack built around: - Prometheus for metrics collection - Grafana for dashboards and visualization - Uptime Kuma for service-level monitoring Current and planned monitoring coverage includes: - Proxmox performance - K3s cluster health - Service uptime - Infrastructure visibility improvements over time πŸ“ See: `monitoring/` --- ## πŸ“Š Live NOC & Automation Pipeline The homelab powers a public-facing live NOC dashboard at **noc.chasedumphord.com**. An automated Python script runs on Biggie (Proxmox node 10.10.30.192) every 5 minutes via cron. It pings all 28 systems, records latency and online/offline status, writes a structured JSON file, and pushes it to GitHub. The dashboard updates automatically. ```text Biggie (10.10.30.192) β€” cron: */5 * * * * β†’ noc_update.py β†’ ICMP ping 28 systems β†’ record latency + status β†’ write data/noc-status.json β†’ git commit + push to ced-portfolio β†’ GitHub Pages deploys (~30s) β†’ noc.chasedumphord.com auto-refreshes ``` - Script: `~/scripts/noc_update.py` on Biggie - Log: `/var/log/noc_update.log` - NOC source: https://github.com/ced4568/ceds-noc - Live dashboard: https://noc.chasedumphord.com --- ## πŸ–₯️ Full Node Inventory (28 Systems) ### Proxmox Cluster β€” 6 Nodes | Node | IP | Role | |------|----|------| | BigWorld | 10.10.30.250 | Proxmox VE Hypervisor | | Biggie | 10.10.30.192 | Proxmox VE Hypervisor β€” NOC script host | | Snoop | 10.10.30.153 | Proxmox VE Hypervisor | | TooShort | 10.10.30.120 | Proxmox VE Hypervisor | | Tupac | 10.10.30.74 | Proxmox VE Hypervisor | | DrDre | 10.10.30.227 | Proxmox VE Hypervisor | ### K3s Cluster β€” 12 Nodes | Role | Node | IP | |------|------|----| | Control Plane | django-1 | 10.10.30.72 | | Control Plane | django-2 | 10.10.30.245 | | Control Plane | django-3 | 10.10.30.128 | | Ingress Worker | node-1 | 10.10.30.219 | | Ingress Worker | node-2 | 10.10.30.134 | | Ingress Worker | node-3 | 10.10.30.222 | | Data Worker | node-4 | 10.10.30.126 | | Data Worker | node-5 | 10.10.30.239 | | Data Worker | node-6 | 10.10.30.208 | | Monitoring Worker | node-7 | 10.10.30.198 | | Monitoring Worker | node-8 | 10.10.30.216 | | Monitoring Worker | node-9 | 10.10.30.29 | ### Services, Monitoring & Edge β€” 10 Systems | System | IP | Layer | Role | |--------|----|-------|------| | TrueNAS | 10.10.30.143 | Infrastructure | Network Attached Storage | | Nginx Proxy Manager | 10.10.30.210 | Networking | Reverse Proxy | | Prometheus | 10.10.30.140 | Monitoring | Metrics Scraping (Active) | | Grafana | 10.10.30.68 | Monitoring | Metrics Dashboard | | Uptime Kuma | 10.10.30.14 | Monitoring | Service Monitor | | Dashy | 10.10.30.61 | Services | HomeLab Dashboard | | Home Assistant | 10.10.30.104 | Services | Home Automation | | PrimeStation | 10.10.30.233 | Services | Media Server | | APRS iGate Home | 10.10.30.129 | Edge | RF to APRS-IS Gateway | | APRS iGate Mobile | 10.10.30.35 | Edge | RF Mobile Node | --- ## 🧭 Documentation - Add new service: `docs/Add_New_Service_Guide.md` - Architecture diagrams: `docs/Ced_Homelab_Diagrams.md` - Roadmap: `docs/roadmap.md` --- ## πŸš€ Future Plans - Full Proxmox cluster - Cloudflare Zero Trust integration - GitOps for K3s deployments - Internal container registry - Advanced monitoring + alerting - Portfolio site: - chasedumphord.com - cedshomelab.com --- ## ⚠️ Security Practices This repo never stores: - API tokens - Private keys - Passwords - Sensitive configs All secrets are handled locally or via `.example` files. --- ## πŸ‘€ Author **Chase Dumphord** Digital Systems Engineer | Infrastructure | Data Systems | Automation LinkedIn: https://www.linkedin.com/in/toochase-dumphord/ GitHub: https://github.com/ced4568