mirror of
https://github.com/lorsanstand/HomeOps-Hub.git
synced 2026-06-19 14:25:16 +03:00
edit README
This commit is contained in:
@@ -1 +1,72 @@
|
||||
# HomeOps-Hub
|
||||
# 🚀 HomeOps Hub
|
||||
|
||||
**HomeOps Hub** — это персональный "Control Plane" и центр автоматизации для вашего домашнего сервера. Это не просто мониторинг, это ваш домашний **Jarvis**, который не только сообщает о проблемах, но и умеет их исправлять.
|
||||
|
||||
|
||||
|
||||
## ✨ Основная концепция
|
||||
В отличие от классических систем мониторинга (Zabbix/Prometheus), HomeOps Hub сфокусирован на **управлении** и **реакции**.
|
||||
|
||||
* **Security First:** Агент на сервере не принимает произвольные bash-команды. Только строго типизированный `Allowlist`.
|
||||
* **Pull-model:** Агент сам подключается к Хабу. Вам не нужно открывать порты наружу или настраивать SSH-доступы.
|
||||
* **Telegram-Native:** Весь интерфейс управления — в вашем кармане.
|
||||
|
||||
---
|
||||
|
||||
## 🛠 Ключевые возможности
|
||||
|
||||
### 1. Управление инфраструктурой (Command API)
|
||||
Безопасное выполнение операций через Telegram или API:
|
||||
* **Docker:** Список контейнеров, рестарт, чтение логов (`tail`), апдейт проектов через Compose.
|
||||
* **FS:** Анализ дискового пространства и поиск "тяжелых" папок.
|
||||
* **Network:** Проверка доступности локальных и внешних сервисов (Healthchecks).
|
||||
|
||||
### 2. Умные Runbooks (Автоматизация)
|
||||
Сценарии самовосстановления системы без участия человека:
|
||||
* **CrashLoop Recovery:** Если контейнер падает чаще 5 раз за 10 минут — перезапуск + сбор логов + уведомление.
|
||||
* **Disk Pressure:** При заполнении диска > 85% — автоматический отчет о топ-20 самых тяжелых директориях.
|
||||
* **HTTP Watchdog:** Если веб-сервис перестал отвечать — попытка рестарта и проверка связности.
|
||||
|
||||
### 3. Аудит и Прозрачность
|
||||
* Полная история: кто, когда и какую команду запустил.
|
||||
* Логирование результатов выполнения всех автоматических сценариев.
|
||||
|
||||
---
|
||||
|
||||
## 🏗 Архитектура
|
||||
|
||||
Проект состоит из трех основных компонентов:
|
||||
|
||||
1. **Hub (The Brain):** Центральный сервис на Go/Python. Хранит конфигурации, управляет состоянием, оркестрирует Runbooks и управляет Telegram-ботом. База данных — Postgres.
|
||||
2. **Agent (The Executor):** Легковесный бинарный файл, работающий непосредственно на целевом хосте. Связь с Хабом через **gRPC Stream**.
|
||||
3. **Telegram Interface:** Основной UI для оперативного управления с использованием Inline-кнопок для быстрых действий (Ack, Mute, Restart).
|
||||
|
||||
---
|
||||
|
||||
## 📋 Командный интерфейс (Telegram)
|
||||
|
||||
| Команда | Описание |
|
||||
| :--- | :--- |
|
||||
| `/status` | Общий статус здоровья системы и активных алертов |
|
||||
| `/containers` | Список Compose-проектов и статус контейнеров |
|
||||
| `/logs <name>` | Получить последние 200 строк логов сервиса |
|
||||
| `/silence <1h>` | Временное отключение уведомлений (режим техобслуживания) |
|
||||
| `/audit` | Список последних 5 действий в системе |
|
||||
|
||||
---
|
||||
|
||||
## 🚀 План развития (Roadmap)
|
||||
|
||||
- [ ] **v0.1: MVP "Пульт"** — Реализация gRPC связи, базовые команды Docker и Telegram-бот.
|
||||
- [ ] **v0.2: Автоматика** — Движок Runbooks, обработка событий CrashLoop и DiskPressure.
|
||||
- [ ] **v0.3: Диагностика** — Автосбор контекста (bundle) при авариях, расширенные отчеты.
|
||||
- [ ] **v1.0: Экосистема** — Поддержка нескольких агентов и плагины уведомлений.
|
||||
|
||||
---
|
||||
|
||||
## 🔒 Безопасность
|
||||
* **No Inbound Ports:** Агент не слушает порты. Соединение всегда инициируется изнутри вашей сети.
|
||||
* **mTLS / Token Auth:** Весь трафик между Агентом и Хабом зашифрован.
|
||||
* **Hardened Commands:** Невозможно выполнить `rm -rf /` — доступны только те команды, что описаны в коде агента.
|
||||
|
||||
*Created with ❤️ for Stasik.*
|
||||
Reference in New Issue
Block a user