This repository contains Helm charts and manifests for deploying and managing homelab applications on Kubernetes.
The Kubernetes cluster consists of 3 nodes:
- 1xControl Plane (Master) Node
- 2xWorker Nodes
- OS: Debian-based (8.4.0 x86_64)
- Host Model: A320M-S2H -CF
- Kernel: 6.8.12-9-pve
- CPU: AMD Ryzen 5 2600 (12 cores) @ 3.400GHz
- GPU: AMD ATI Radeon RX 470/480/570/570X/580/580X/590
- Memory: 32GB
- OS: Debian-based (8.4.0 x86_64)
- Host Model: 10VHA0050D ThinkCentre M715q
- Kernel: 6.8.12-9-pve
- CPU: AMD Ryzen 5 2400GE (8 cores) @ 3.200GHz
- GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series
- Memory: 16GB
- applications/: Standalone application manifests (YAML).
- charts/: Helm charts for modular, reusable deployments.
adguard/: Chart for AdGuard Home DNS filtering, including templates and values.grafana/: Chart for Grafana monitoring and visualization platform.postgres/: Chart for PostgreSQL database with persistence and LoadBalancer support.prometheus/: Chart for Prometheus metrics collection and monitoring.pushgateway/: Chart for Prometheus Pushgateway for short-lived job metrics.
- Easy deployment of homelab services
- Customizable Helm charts
- Example manifests for quick setup
- MetalLB load balancer support for bare-metal Kubernetes networking
- Designed for lightweight clusters using k3s
DNS filtering and ad blocking solution for your homelab network.
- Chart:
charts/adguard/ - Features: Web UI, DNS filtering, DHCP server support
- Deployment: Includes ingress and service configurations
Monitoring and observability platform with customizable dashboards.
- Chart:
charts/grafana/ - Features: Data visualization, dashboard management, alerting
- Deployment: Includes ingress and service configurations
- Integration: Works with Prometheus for metrics collection
Time-series database and monitoring system for metrics collection.
- Chart:
charts/prometheus/ - Features: Metrics scraping, PromQL queries, alerting rules
- Deployment: Includes persistence, RBAC, and service configurations
- Integration: Provides data source for Grafana dashboards
Prometheus component for collecting metrics from short-lived jobs.
- Chart:
charts/pushgateway/ - Features: Metrics collection for batch jobs, ephemeral services
- Deployment: Includes ingress and service configurations
- Integration: Works with Prometheus for metrics aggregation
Production-ready PostgreSQL database with persistence.
- Chart:
charts/postgres/ - Features: Persistent storage (Longhorn), LoadBalancer service, configurable resources
- Version: PostgreSQL 17
- Storage: 4Gi default with Longhorn storage class
- Network: LoadBalancer with configurable IP (192.168.29.243)
- Clone the repository:
git clone https://github.com/meta-boy/homelab.git cd homelab - Install Helm.
- Deploy a chart:
# Deploy AdGuard Home helm install adguard ./charts/adguard -f charts/adguard/values.yaml # Deploy Grafana helm install grafana ./charts/grafana -f charts/grafana/values.yaml # Deploy Prometheus helm install prometheus ./charts/prometheus -f charts/prometheus/values.yaml # Deploy Pushgateway helm install pushgateway ./charts/pushgateway -f charts/pushgateway/values.yaml # Deploy PostgreSQL helm install postgres ./charts/postgres -f charts/postgres/values.yaml
Pull requests and suggestions are welcome!
MIT