Repolode
Higangssh

Higangssh/homebutler

Один исполняемый файл на Go, который запоминает последнее состояние сервера и сообщает только о важных изменениях; MCP-сервер уже встроен.

Звёзды
315
Форки
22
Открытые issues
7
Последний коммит
7 дней назад

Что это?

HomeButler — инструмент для управления домашней лабораторией на серверах Linux и macOS. Команда `report` сохраняет снимок контейнеров, портов и использования диска, затем при каждом запуске сравнивает его с предыдущим и показывает только изменения: например, контейнер пересоздан под тем же именем, другой процесс занял порт или сравнение выполнить не удалось. Для каждого изменения указывается фиксированный тип — он также включён в JSON-вывод, чтобы скрипты и агенты могли выбирать дальнейшие действия по нему.

Проект охватывает несколько задач: `doctor` выполняет проверки перед запуском без внесения изменений — выявляет нехватку дискового пространства и памяти, остановленные контейнеры, открытые наружу порты и отсутствие резервных копий; `watch` обнаруживает перезапуски контейнеров, systemd и PM2, сохраняет логи вокруг каждого сбоя и сообщает о циклических перезапусках; `backup drill` запускает архив резервной копии в изолированном контейнере и требует успешной проверки HTTP-доступности. Кроме того, HomeButler устанавливает набор self-hosted-приложений с помощью docker compose и умеет управлять конечными точками Proxmox VE через API.

HomeButler — это один исполняемый файл без базы данных и постоянно работающего агента на отслеживаемых машинах: подключение по SSH происходит только по запросу. В его состав входят CLI, веб-панель, панель для терминала и MCP-сервер, через который AI-агенты могут запрашивать сведения о сервере без полноценной сессии shell.

Ключевые возможности

  • 01Снимки состояния в `report`: вывод только изменений с прошлого запуска, в том числе в формате JSON
  • 02Проверки `doctor` без внесения изменений: нехватка ресурсов, открытые наружу порты и состояние резервных копий
  • 03Обнаружение перезапусков Docker, systemd и PM2 с сохранением логов и оповещениями о циклических перезапусках
  • 04`backup drill` запускает архивы резервных копий в изолированных контейнерах и проверяет доступность по HTTP
  • 05Установка self-hosted-приложений одной командой через docker compose
  • 06Встроенные MCP-сервер, веб-панель и панель для терминала

Сценарии использования

  • Проверить, что изменилось на домашнем сервере после обновления или перезапуска
  • Убедиться, что резервные копии действительно можно восстановить, прежде чем они понадобятся
  • Дать AI-ассистенту возможность изучить состояние сервера без доступа к shell по SSH
  • Отслеживать перезапуски контейнеров и циклические сбои на небольшом Linux-хосте или Raspberry Pi

Быстрый старт

  1. 1

    Установить с помощью Homebrew

    brew install Higangssh/homebutler/homebutler
  2. 2

    Запустить интерактивную настройку и добавить серверы

    homebutler init
  3. 3

    Проверить текущее состояние серверов

    homebutler status
  4. 4

    Создать отчет о состоянии и изменениях

    homebutler report

Что важно знать

  • Для сборки из исходного кода требуется Go 1.25 или новее.
  • Мониторинг и создание отчетов зависят от наличия Docker, systemd или PM2 на целевых машинах.

В подборках

Темы

Частые вопросы

Что такое homebutler?
Один исполняемый файл на Go, который запоминает последнее состояние сервера и сообщает только о важных изменениях; MCP-сервер уже встроен. HomeButler — инструмент для управления домашней лабораторией на серверах Linux и macOS. Команда `report` сохраняет снимок контейнеров, портов и использования диска, затем при каждом запуске сравнивает его с предыдущим и показывает только изменения: например, контейнер пересоздан под тем же именем, другой процесс занял порт или сравнение выполнить не удалось. Для каждого изменения указывается фиксированный тип — он также включён в JSON-вывод, чтобы скрипты и агенты могли выбирать дальнейшие действия по нему.
homebutler можно использовать бесплатно? Какая у него лицензия?
homebutler распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
homebutler всё ещё поддерживается?
Активно поддерживается. Последний коммит в homebutler — 1 нояб. 2026 г..
Для чего можно использовать homebutler?
Проверить, что изменилось на домашнем сервере после обновления или перезапуска Убедиться, что резервные копии действительно можно восстановить, прежде чем они понадобятся Дать AI-ассистенту возможность изучить состояние сервера без доступа к shell по SSH Отслеживать перезапуски контейнеров и циклические сбои на небольшом Linux-хосте или Raspberry Pi
Как установить homebutler?
Установить с помощью Homebrew: brew install Higangssh/homebutler/homebutler Запустить интерактивную настройку и добавить серверы: homebutler init Проверить текущее состояние серверов: homebutler status Создать отчет о состоянии и изменениях: homebutler report
Где скачать homebutler?
Исходный код и инструкции по установке — на GitHub: https://github.com/Higangssh/homebutler

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Бесплатный self-hosted инструмент для резервного копирования PostgreSQL с Point-in-Time Recovery, автоматической проверкой восстановления и веб-интерфейсом.

DevOps и облака#backup#postgresql#database-backup
9,3 тыс.+31 за неделю606TypeScriptApache-2.0Активно поддерживаетсяОбновлён 3 часа назад

Самостоятельно размещаемый инструмент для планового резервного копирования и восстановления PostgreSQL, MySQL, MongoDB, Redis, SQLite, томов Docker и других данных через веб-панель.

1,9 тыс.+8 за неделю146TypeScriptApache-2.0Активно поддерживаетсяОбновлён 4 часа назад

Веб-интерфейс для самостоятельного размещения и централизованного управления BorgBackup на множестве Linux-, Mac- и Windows-устройств через агент, который опрашивает сервер.

397+4 за неделю38PHPOtherАктивно поддерживаетсяОбновлён 4 дня назад

Самостоятельно размещаемое Docker-приложение с веб-интерфейсом, которое по расписанию или вручную проверяет наличие обновлений контейнеров и устанавливает их.

1,6 тыс.+3 за неделю57PythonMITАктивно поддерживаетсяОбновлён 8 дней назад