c8e05c06502c79a301f8bf5003bb3772781a3b29
Kubernetes Manifests Repository
This repository contains Kubernetes manifest files for a comprehensive self-hosted platform running 40+ applications across various categories. This infrastructure was created for the migration from Docker to Kubernetes (K3S).
Overview
This infrastructure provides a complete solution for:
- Media management and streaming
- AI/ML workloads
- Development and CI/CD workflows
- Productivity and collaboration tools
- Network and system administration
- Storage and backup solutions
All applications are managed using GitOps principles with ArgoCD and utilize cert-manager for automated TLS certificate management.
Repository Structure
The repository is organized with one directory per application, containing all necessary Kubernetes resources:
├── argocd/ # GitOps continuous deployment
├── cert-manager/ # TLS certificate management
├── metallb/ # Load balancer
├── kubevip/ # High availability
├── longhorn/ # Distributed storage
├── envoy-gateway/ # Kubernetes Gateway API configuration
├── infisical/ # Secrets management
├── authentik/ # Identity provider and SSO
├── it-tools/ # IT utilities
├── jellyfin/ # Media server
├── seerr/ # Media request management
├── immich/ # Photo and video management
├── minecraft/ # Game servers
├── gitea/ # Git service
├── jenkins/ # CI/CD automation
├── n8n/ # Workflow automation
├── react-resume/ # Resume builder application
├── passbolt/ # Password manager
├── wikijs/ # Documentation wiki
├── zipline/ # File sharing
├── gotify/ # Push notification server
├── ntfy/ # Push notifications
├── bentopdf/ # PDF conversion
├── excalidraw/ # Whiteboard / diagramming
├── searxng/ # Privacy-respecting search engine
├── uptime-kuma/ # Uptime monitoring
├── shelfmark/ # Bookmarks manager
├── openwebui/ # Web UI for AI models
├── ollama/ # Local LLM runner
├── comfyui/ # Stable Diffusion workflow UI
├── minio-aistor/ # S3-compatible object storage
├── databasus/ # Database management
├── netbootxyz/ # Network boot service
├── technitium/ # DNS server
├── azure-ddns-python/ # Dynamic DNS updater
├── victoria-metrics/ # Metrics, monitoring and logging
├── proxmox/ # Virtualization platform
├── unifi/ # Network controller
├── truenas/ # Storage system
├── deprecated/ # No longer active configurations (kept for reference)
└── future-plans/ # Configurations planned for future use
Categories
Core Infrastructure
- ArgoCD: GitOps continuous deployment and application management
- cert-manager: Automated TLS certificate provisioning using Azure DNS
- MetalLB: Bare-metal load balancer
- KubeVIP: High-availability control plane
- Longhorn: Distributed block storage
- Envoy Gateway: Kubernetes Gateway API implementation
- Infisical: Secrets management platform
- Authentik: Identity provider and SSO
Media & Entertainment
- Jellyfin: Media streaming server
- Seerr: Media request and discovery
- Immich: Self-hosted photo and video management
- Minecraft: Game servers (ATM-10, Homestead and Stacia 2 Expert modpacks)
AI & Machine Learning
- Ollama: Local LLM runner
- Open WebUI: Web interface for AI models
- ComfyUI: Stable Diffusion workflow UI
Development & CI/CD
- Gitea: Self-hosted Git service with Actions runner
- Jenkins: Automation server for CI/CD pipelines
- n8n: Workflow automation platform
- MinIO AIStor: S3-compatible object storage
Productivity & Collaboration
- React-Resume: Resume builder with MinIO and PostgreSQL
- Passbolt: Team password manager
- Wiki.js: Modern documentation platform
- Zipline: File sharing and screenshot service
- Gotify: Push notification server with REST API and WebSocket support
- Ntfy: Push notification service
- BentoPDF: PDF conversion service
- Excalidraw: Online whiteboard and diagramming tool
- SearXNG: Privacy-respecting metasearch engine
- Shelfmark: Bookmarks manager
- Databasus: Database management UI
- Uptime Kuma: Uptime and status monitoring
Administration & Monitoring
- IT-Tools: Collection of useful IT utilities
- Technitium: DNS server with web interface
- Azure DDNS Python: Dynamic DNS updater for Azure DNS
- NetbootXYZ: Network boot service for OS installation
- VictoriaMetrics: Metrics collection, monitoring and logging stack (includes VictoriaLogs)
External Service Integration
- Proxmox: Virtualization platform integration
- UniFi: Network controller integration
- TrueNAS: Storage system integration
Common Patterns
Networking
- Ingress Controller: Envoy Gateway (Kubernetes Gateway API)
- TLS: Automated certificate management via cert-manager with Azure DNS validation
- Load Balancer: MetalLB for external access
Storage
- Persistent Storage: Longhorn distributed storage
- StatefulSets: Used for applications requiring persistent state
- PersistentVolumeClaims: Separate PVCs for different data types (config, data, backups)
- Static Volumes:
longhorn-staticStorageClass used for manually pre-provisioned volumes
Security
- Secrets Management: Infisical operator syncs secrets into Kubernetes as native Secrets
- TLS: All web interfaces secured with HTTPS
- SSO: Authentik for centralized authentication
Application Architecture
- Multi-tier Applications: Separate deployments for apps and databases
- Configuration Management: ConfigMaps for application settings
- Service Discovery: ClusterIP services with internal DNS
Deployment
This repository is designed for GitOps deployment using ArgoCD:
- ArgoCD monitors this repository for changes
- Changes are automatically synced to the cluster
- Applications are deployed with declarative configurations
- Rollbacks are possible through Git history
Infrastructure Requirements
- Kubernetes Cluster: K3S v1.33+
- Storage: Longhorn distributed storage
- Load Balancer: MetalLB configured
- DNS: Azure DNS for certificate validation
- Secrets: Infisical instance for secret management
Description
Kubernetes manifests for my self-hosted homelab cluster — 40+ applications managed with ArgoCD, Envoy Gateway, and Infisical."
Languages
Markdown
100%