Об этом проекте

Khue's Homelab — это проект с открытым исходным кодом, который автоматизирует весь жизненный цикл среды домашней лаборатории: от подготовки оборудования (bare metal) до запуска собственных сервисов, используя принципы Infrastructure as Code и GitOps. Проект находится на стадии ALPHA и представляет собой высоконастраиваемый фреймворк для создания персональных лабораторий. Основной рабочий процесс начинается с автоматической установки Fedora Server на физические машины через PXE-загрузку. Затем настраивается легковесная дистрибуция Kubernetes (K3s), после чего с помощью ArgoCD разворачивается комплексный стек приложений для самостоятельного хостинга в режиме непрерывного развертывания на основе GitOps. Ключевые возможности включают: - **Подготовка оборудования (Bare Metal Provisioning)**: Автоматическая настройка PXE-загрузки для развёртывания физических серверов без ручного вмешательства. - **Управление Kubernetes**: Автоматическая установка и управление кластерами K3s с автоматическими поэтапными обновлениями как операционной системы, так и Kubernetes. - **GitOps-развертывание приложений**: Приложения управляются через GitOps с использованием ArgoCD, включая поддержку автоматических обновлений (с контрольными точками подтверждения). - **Сеть и безопасность**: Поддержка VPN через Tailscale или Wireguard, автоматическое управление сертификатами с помощью cert-manager и безопасное обеспечение доступа к интернету через Cloudflare Tunnel. - **CI/CD**: Интегрированный Woodpecker CI для непрерывной интеграции и ArgoCD для непрерывного развертывания. - **Хранение данных**: Распределённое хранилище Rook Ceph для облачно-нативного хранения внутри Kubernetes. - **Мониторинг и оповещения**: Полный стек наблюдаемости с Prometheus, Grafana и Loki для метрик, панелей мониторинга и агрегации логов. - **Управление идентификацией**: Поддержка единого входа (SSO) через Kanidm. - **Автоматизация DNS**: ExternalDNS автоматически обновляет DNS-записи для открытых сервисов. - **Резервное копирование и восстановление**: Автоматизированные возможности бэкапа и восстановления. - **Модульная архитектура**: Легкость добавления или удаления функций и компонентов. - **Поддержка нескольких сред**: Поддержка таких окружений, как dev и prod. - **Тестирование инфраструктуры**: Встроенные возможности тестирования инфраструктуры. Технологический стек включает Ansible для автоматизации bare metal, ArgoCD для GitOps, Cilium для сети и наблюдаемости на базе eBPF, cert-manager для управления сертификатами, Cloudflare для DNS и туннелирования, Docker для эфемерных PXE-серверов, ExternalDNS для синхронизации DNS, Fedora Server в качестве базовой ОС, Gitea как самохостинговый Git-сервис, Grafana для наблюдаемости, Helm как менеджер пакетов Kubernetes, K3s как легковесная дистрибуция Kubernetes, Kanidm для управления идентификацией, Loki для агрегации логов, NGINX в качестве Ingress Controller для Kubernetes, Nix для оболочек разработки, ntfy для уведомлений, Prometheus для мониторинга, Renovate для обновлений зависимостей, Rook Ceph для хранения, Tailscale и Wireguard для VPN, Woodpecker CI для CI/CD и Zot Registry для частного реестра контейнеров. Проект можно попробовать локально без аппаратного обеспечения (режим sandbox) или развернуть на реальном оборудовании для рабочих нагрузок production. Документация доступна по адресу homelab.khuedoan.com. Проект лицензирован под GPLv3 и приветствует вклад сообщества. Он вдохновлен различными проектами с открытым исходным кодом и ресурсами сообщества в сфере homelab и самостоятельного хостинга.