mirror of
https://github.com/ced4568/ceds-homelab.git
synced 2026-08-13 04:04:01 +00:00
Revise README for improved clarity and detail
Updated the README to enhance clarity and detail about the HomeLab environment, including sections on architecture, purpose, and future plans.
This commit is contained in:
@@ -1,16 +1,63 @@
|
||||
# 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 homelab designed to simulate real-world infrastructure, system monitoring, and service delivery.
|
||||
|
||||
- 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)
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ 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
|
||||
|
||||
Screenshots and dashboard views will be added as the lab documentation expands.
|
||||
|
||||
- Grafana dashboards (Ced’s NOC)
|
||||
- Proxmox cluster view
|
||||
- K3s node status
|
||||
- Dashy homepage
|
||||
- Service monitoring panels
|
||||
|
||||
---
|
||||
|
||||
@@ -18,12 +65,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,123 +78,115 @@ 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/)
|
||||
📁 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/)
|
||||
📁 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/`
|
||||
|
||||
---
|
||||
|
||||
## 🧭 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
|
||||
- cedshome.com
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Secrets & Security
|
||||
## ⚠️ Security Practices
|
||||
|
||||
This repo **never** stores:
|
||||
This repo never stores:
|
||||
|
||||
- API tokens
|
||||
- Private keys
|
||||
- Passwords
|
||||
- Secret YAML files
|
||||
- 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