mirror of
https://github.com/ced4568/ceds-homelab.git
synced 2026-08-13 04:04:01 +00:00
Merge branch 'main' of https://github.com/ced4568/ceds-homelab
This commit is contained in:
@@ -1,16 +1,78 @@
|
||||
# Ced's HomeLab
|
||||
# 🧠 Ced’s HomeLab (Enterprise Infrastructure & Monitoring Lab)
|
||||
|
||||
Ced's HomeLab is my personal mini–datacenter: a segmented, cloud-connected environment built for learning, experimentation, and portfolio work. It includes:
|
||||
> A production-style infrastructure lab showcasing real-world systems engineering, monitoring, and platform operations.
|
||||
|
||||
- Proxmox virtualization
|
||||
- TrueNAS ZFS storage
|
||||
- A 12-node Raspberry Pi K3s cluster
|
||||
- Nginx Proxy Manager + Cloudflare Tunnel
|
||||
- Home Assistant + IoT integration
|
||||
- Media stack (Arr suite + Jellyfin)
|
||||
- Observability (Grafana, Prometheus, Uptime Kuma)
|
||||
This environment functions as a **personal datacenter**, combining virtualization, Kubernetes orchestration, observability, and secure external access.
|
||||
|
||||
This repo is the **documentation and configuration hub** for the entire environment.
|
||||
---
|
||||
|
||||
## 🚀 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 Workloads
|
||||

|
||||
|
||||
### ☸️ K3s Cluster Nodes & Pods
|
||||

|
||||
|
||||
### 🌐 Reverse Proxy (Nginx Proxy Manager)
|
||||

|
||||
|
||||
### 📊 Service Monitoring (Uptime Kuma)
|
||||

|
||||
|
||||
### 📊 Grafana Dashboard
|
||||

|
||||
|
||||
---
|
||||
|
||||
@@ -18,12 +80,12 @@ This repo is the **documentation and configuration hub** for the entire environm
|
||||
|
||||
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 |
|
||||
| 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.
|
||||
|
||||
@@ -31,79 +93,74 @@ The HomeLab VLAN (10.10.30.0/24) hosts all core infrastructure.
|
||||
|
||||
## 🧱 Core Components
|
||||
|
||||
### Proxmox VE
|
||||
|
||||
### 🖥️ 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/`](proxmox/)
|
||||
- Uses TrueNAS for shared storage (NFS / iSCSI)
|
||||
📁 See: `proxmox/`
|
||||
|
||||
---
|
||||
|
||||
### TrueNAS (ZFS Storage)
|
||||
|
||||
### 💾 TrueNAS (ZFS Storage)
|
||||
- Manages ZFS pools and datasets
|
||||
- NFS exports for Proxmox VM storage
|
||||
- SMB / media dataset for Jellyfin & Arr stack
|
||||
|
||||
See: [`truenas/`](truenas/)
|
||||
- SMB / media dataset for Jellyfin & Arr stack
|
||||
📁 See: `truenas/`
|
||||
|
||||
---
|
||||
|
||||
### K3s Raspberry Pi Cluster
|
||||
### ☸️ K3s Raspberry Pi Cluster
|
||||
A 12-node K3s cluster built on Raspberry Pi hardware for orchestrating containerized workloads across the lab.
|
||||
|
||||
A 12-node K3s cluster (Raspberry Pis) for running:
|
||||
Current and planned uses include:
|
||||
|
||||
- Containerized apps
|
||||
- Containerized applications
|
||||
- Ingress-based routing
|
||||
- GitOps and helm-based workloads (future)
|
||||
- Monitoring workloads
|
||||
- Future GitOps and Helm-based deployments
|
||||
|
||||
K3s is part of the HomeLab but documented in detail in its own repo:
|
||||
- https://github.com/ced4568/ced-k3s-homelab
|
||||
|
||||
This repo may reference that cluster and contain high-level config patterns.
|
||||
📌 Full cluster repo:
|
||||
https://github.com/ced4568/ced-k3s-homelab
|
||||
|
||||
---
|
||||
|
||||
### Reverse Proxy & Cloudflare Tunnel
|
||||
|
||||
- Nginx Proxy Manager (NPM) on the HomeLab VLAN
|
||||
### 🌐 Reverse Proxy & Cloudflare Tunnel
|
||||
- Nginx Proxy Manager (NPM)
|
||||
- Cloudflare Tunnel (no port forwarding)
|
||||
- Wildcard DNS: `*.cedshomelab.com`
|
||||
|
||||
External access flow:
|
||||
|
||||
```text
|
||||
**Traffic Flow:**
|
||||
Internet → Cloudflare Edge → Tunnel → NPM → Internal Services
|
||||
```
|
||||
|
||||
Docs: [`docs/Add_New_Service_Guide.md`](docs/Add_New_Service_Guide.md)
|
||||
📁 Docs: `docs/Add_New_Service_Guide.md`
|
||||
|
||||
---
|
||||
|
||||
### Home Automation
|
||||
### 🏠 Home Automation
|
||||
- Home Assistant (Proxmox VM)
|
||||
- IoT isolated on MyHomeIOT VLAN
|
||||
- Secure access via Cloudflare + NPM
|
||||
- `trusted_proxies` configured
|
||||
|
||||
- Home Assistant (HA) in Proxmox
|
||||
- IoT devices isolated on MyHomeIOT VLAN
|
||||
- HA exposed via Cloudflare + NPM
|
||||
- `trusted_proxies` configured for NPM
|
||||
|
||||
Config snippets: [`home-assistant/configuration-snippets/`](home-assistant/configuration-snippets/)
|
||||
📁 Config: `home-assistant/`
|
||||
|
||||
---
|
||||
|
||||
### Observability
|
||||
### 📊 Observability (Ced’s NOC)
|
||||
|
||||
- Prometheus scrapes metrics from:
|
||||
- Proxmox
|
||||
- K3s
|
||||
- TrueNAS (future)
|
||||
- Home Assistant / MQTT (future)
|
||||
- Grafana dashboards, including a **Ced's NOC** view
|
||||
The lab includes an observability stack built around:
|
||||
|
||||
- Prometheus for metrics collection
|
||||
- Grafana for dashboards and visualization
|
||||
- Uptime Kuma for service-level monitoring
|
||||
|
||||
Notes and dashboards: [`monitoring/`](monitoring/)
|
||||
Current and planned monitoring coverage includes:
|
||||
- Proxmox performance
|
||||
- K3s cluster health
|
||||
- Service uptime
|
||||
- Infrastructure visibility improvements over time
|
||||
|
||||
📁 See: `monitoring/`
|
||||
|
||||
---
|
||||
|
||||
@@ -180,45 +237,42 @@ Biggie (10.10.30.192) — cron: */5 * * * *
|
||||
|
||||
## 🧭 Documentation
|
||||
|
||||
- **How to add a new service via NPM + Cloudflare**
|
||||
[`docs/Add_New_Service_Guide.md`](docs/Add_New_Service_Guide.md)
|
||||
|
||||
- **Architecture diagrams (Mermaid)**
|
||||
[`docs/Ced_Homelab_Diagrams.md`](docs/Ced_Homelab_Diagrams.md)
|
||||
|
||||
- **Roadmap / future ideas**
|
||||
[`docs/roadmap.md`](docs/roadmap.md)
|
||||
- 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 on critical services
|
||||
- GitOps for K3s deployments (in ced-k3s-homelab)
|
||||
- Cloudflare Zero Trust integration
|
||||
- GitOps for K3s deployments
|
||||
- Internal container registry
|
||||
- K3s-specific wildcard routing (`*.apps.cedshomelab.com`)
|
||||
- More detailed monitoring + alerting
|
||||
- Visual portfolio site on:
|
||||
- `chasedumphord.com` or
|
||||
- `cedshome.com`
|
||||
- Advanced monitoring + alerting
|
||||
- Portfolio site:
|
||||
- chasedumphord.com
|
||||
- cedshomelab.com
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Secrets & Security
|
||||
## ⚠️ Security Practices
|
||||
|
||||
This repo **never** stores:
|
||||
This repo never stores:
|
||||
|
||||
- API tokens
|
||||
- Private keys
|
||||
- Passwords
|
||||
- Secret YAML files
|
||||
- API tokens
|
||||
- Private keys
|
||||
- Passwords
|
||||
- Sensitive configs
|
||||
|
||||
Any real config with secrets should be kept locally only, or represented here as `*.example` files.
|
||||
All secrets are handled locally or via `.example` files.
|
||||
|
||||
---
|
||||
|
||||
## ✨ Author
|
||||
## 👤 Author
|
||||
|
||||
**Ced (Chase Dumphord)**
|
||||
Cybersecurity / GRC / SOC • Full-Stack Dev • Homelab builder
|
||||
**Chase Dumphord**
|
||||
Digital Systems Engineer | Infrastructure | Data Systems | Automation
|
||||
|
||||
LinkedIn: https://www.linkedin.com/in/toochase-dumphord/
|
||||
GitHub: https://github.com/ced4568
|
||||
|
||||
Reference in New Issue
Block a user