Skip to content

MaksimShakavin/flux-homelab

Repository files navigation

My Homelab playground

... the way of a front-end developer cosplaying a sysadmin 🗿

Age-Days   Uptime-Days   Node-Count   Pod-Count   CPU-Usage   Memory-Usage  


🍼 Overview

👋 Welcome to my Kubernetes Homelab Cluster repository! This project serves as a practical learning environment for exploring Kubernetes and Infrastructure as Code (IaC) practices using tools like FluxCD, Renovate, go-task and other

📖 Table of contents

📚 Documentation

  1. Prerequisites
  2. Setup Guide
  3. How To

🖥️ Technological Stack

Name Description
Proxmox Virtualization platform
Kubernetes An open-source system for automating deployment, scaling, and management of containerized applications
Helm The Kubernetes package manager
FluxCD GitOps tool for deploying applications to Kubernetes
Talos Linux Talos Linux is Linux designed for Kubernetes
Cert Manager X.509 certificate management for Kubernetes
Cilium Internal Kubernetes container networking interface.
Ingress-nginx Kubernetes ingress controller using NGINX as a reverse proxy and load balancer.
Cloudflared Enables Cloudflare secure access to certain ingresses.
CoreDNS Cluster DNS server
Spegel Stateless cluster local OCI registry mirror.
External-dns Automatically syncs ingress DNS records to a DNS provider.
External Secrets Managed Kubernetes secrets using 1Password Connect.
Sops Managed secrets for Kubernetes and which are commited to Git.
Longhorn Cloud native distributed block storage for Kubernetes
VolSync Backup and recovery of persistent volume claims.
Prometheus Monitoring system and time series database
Thanos Highly available Prometheus setup with long-term storage capabilities
Grafana Data and logs visualization
Loki Horizontally-scalable, highly-available, multi-tenant log aggregation system
Vector Collects, transform and routes logs to Loki

🔧 Hardware

Rack photo rack
Device Count Disk Size RAM OS Purpose
Lenovo M910Q Tiny i5-6500T 3 2x1TB SSD 32GB Talos Kubernetes Master Nodes
Raspberry Pi 5 1 8GB RpiOS DNS, SmartHome
Synology RS422+ 1 4x16TB HDD 2GB DSM NAS
UPS 5UTRA91227 1 UPS
UniFi UDM Pro 1 UnifiOS Router
UniFi USW PRO 24 Gen2 1 Switch
UniFi USW Lite 8 1 Switch
UniFi U6 In-Wall 1 Access Point
UniFi U6 Mesh 1 Access Point

☁️ External Dependencies

This list does not include cloud services that I use for personal reasons and don't yet want to migrate to self-hosted, such as Google (Gmail, Photos, Drive), streaming services, Apple, and some applications. Legacy cloud services listed at the bottom are remnants from previous attempts to set up smart home observability dashboards and will be migrated and shut down never as soon as I have time to transfer all the configurations.

Service Description Costs
1Password Secrets managements 76$/year
Cloudflare Domain and DNS Free
GitHub Repository Hosting Free
Discord Notifications Free
Let's Encrypt Certificates Free
Notifiarr Notifications push 5$ one time
AWS Route 53 Domain 0,5$/month
AWS EC2 (Legacy) Grafana, InfluxDB hosting for smart home analytics. Need to migrate ~15$/month
InfluxDB Cloud (Legacy) Smart home data storage. Need to migrate ~14$/month
AWS Other (Legacy) Email hosting. Need to migrate ~10$/month
Total: 45$/month

🤝 Thanks

This project was mostly copypasted from inspired by a onedr0p/home-ops and onedr0p/cluster-template repositories. A big thanks to the members of the Home Operations community for their support and for sharing their repositories. Additional thanks to the Kubesearch project for ability to search for different configurations. Thanks kubepug for the logo. I like pugs