Skip to content
kubectl
$

Software Overview

The homelab runs a variety of infrastructure components and applications, all managed through GitOps with ArgoCD.

Infrastructure Layer

These components form the foundation of the cluster. See the Infrastructure page for details.

ComponentPurpose
K3sLightweight Kubernetes distribution optimized for edge and IoT
LonghornCloud-native distributed block storage for Kubernetes
TraefikModern reverse proxy and ingress controller with automatic TLS
ArgoCDDeclarative GitOps continuous delivery for Kubernetes
cert-managerAutomatic TLS certificate provisioning via Let's Encrypt
Sealed SecretsEncrypted secret storage safe for Git repositories

Observability Stack

Full-stack monitoring and alerting. See the Observability page for details.

ComponentDescription
PrometheusTime-series metrics collection with 60-second scrape intervals and persistent storage
GrafanaVisualization platform with pre-built dashboards for cluster monitoring
LokiLog aggregation system using label-based querying similar to Prometheus
AlertmanagerAlert routing and notification management with Discord integration
ObserviumSNMP-based network monitoring for switches and infrastructure devices

AI Inference

Local LLM and generative AI serving. See the AI Inference page for details.

ComponentDescription
llama.cppLLM inference engine with ROCm GPU acceleration
vLLMHigh-throughput model serving on CUDA
LiteLLMUnified OpenAI-compatible API gateway for all models
Open WebUIChatGPT-style web interface for local models
ComfyUINode-based image generation workflows
SpeachesText-to-speech and audio transcription

Applications

ApplicationDescription
Home AssistantSmart home automation platform with Zigbee device support and voice control
Omada ControllerTP-Link network management for switches and access points
Unifi ControllerUbiquiti network management running on a dedicated node
SemaphoreWeb-based UI for running Ansible playbooks and managing automation jobs
KiwixOffline content server for Wikipedia and other reference material

Deployment Patterns

  • Deployment + Recreate: Apps with RWO PVCs (prevents Multi-Attach errors)
  • StatefulSet: Databases (MongoDB, PostgreSQL, MariaDB, Prometheus)
  • CronJob: Backup jobs (etcd, MongoDB, PostgreSQL)
  • Java apps (Omada/Unifi): Need 2000m CPU at startup, use hostNetwork=true

Homelab Infrastructure

Build: a625fb4