Карта инфраструктуры

Узлы домашней системы, связи между ними и значения терминов на одной странице.

Как получить доступы

Пользовательские данные и секреты приложений хранятся в OpenBao.

  • Войти в OpenBaoОткройте vault.mmahome.ru. На экране входа выберите Username вместо Token. Логин и пароль напечатаны на стикере и содержатся в QR-коде.
  • Найти секретВ secret данные разложены по папкам. В списке ниже указано, куда переходить: например, homeassistant/access — сначала откройте папку homeassistant, затем access.
  • Home Assistanthomeassistant/access — имя пользователя и пароль HA; homeassistant/backup — ключ расшифровки резервных копий.
  • Сеть и Zigbeenetwork/craze-dns — учётные данные DNS на роутере; iot/sonoff-dongle-m — пароль панели Dongle-M; iot/sonoff-dongle-m/mqtt — отдельные логин и пароль MQTT.
  • Zabbixzabbix/runtime — имя и пароль пользователя БД, пароль root БД и пароль администратора Zabbix.
  • SSH к Greenssh/ha-green содержит SSH-ключ и параметры подключения. Он выдаётся отдельной ролью для обслуживания; не пересылайте приватный ключ и не вставляйте его в чаты.
  • Доступ приложенийДля автоматизации используются AppRole role_id и secret_id. Это отдельные машинные учётные данные, не логин для веб-интерфейса.

Сервисы

Топология

Внешний трафик, сервисы и фактические подключения оборудования

Интернет

Публичный домен и входящие запросы.

Netcraze Ultra

WAN 192.168.2.41/22 · LAN 192.168.4.1/24.

NAT TCP 80/443 → Green 192.168.4.140.
Nginx на Green

Входной шлюз HTTPS · выбор сервиса по имени хоста.

Порты Nginx: TCP 80/443 · TLS завершается здесь.
Куда Nginx направляет запросы
  • mmahome.ru
    Home Assistant Core

    HTTP :88 · интерфейс, REST API и WebSocket. Далее HA управляет устройствами через интеграции ZHA и MQTT.

  • vault.mmahome.ru
    OpenBao UI и API

    TLS → local-openbao.local.hass.io:8200 · Nginx проверяет внутренний сертификат по CA OpenBao. Секреты хранятся в KV v2 / Raft.

  • docs.mmahome.ru
    Эта документация

    Nginx читает статические файлы из /share/docs. Отдельный HTTP backend не нужен.

  • monitoring.mmahome.ru
    Zabbix frontend

    HTTP → local-zabbix-web.local.hass.io:8080 · frontend читает MariaDB :3306 и обращается к Zabbix server :10051. Server также работает с MariaDB.

  • vault.mmahome.ru
    /dongle-backup/*
    Приёмник архивов Dongle-M

    Точные пути /health и /upload → local-dongle-backup.local.hass.io:8080. Приём доступен только разрешённым локальным адресам; архивы пишутся в /share/dongle-m-backups.

Публичный TLS завершается в Nginx. К HA и Zabbix frontend запросы идут по HTTP внутри системы; соединение с OpenBao остаётся зашифрованным.

Приложения на Home Assistant Green

Home Assistant Core

Интеграции, автоматизации, REST API и WebSocket.

OpenBao

Хранилище секретов · Raft · KV v2 · AppRole.

Zabbix frontend

Веб-интерфейс · внутренний HTTP :8080.

Zabbix server

Сбор и обработка метрик · TCP :10051.

MariaDB

Хранение истории Zabbix · TCP :3306.

Mosquitto

MQTT-брокер для Home Assistant и клиента Dongle-M · TCP :1883/:1884.

Подключённое оборудование

Home Assistant Connect ZBT-2

Подключение к Green по USB; отдельная Zigbee-сеть под управлением встроенной интеграции ZHA.

SONOFF Dongle-M

Подключение к Green по Ethernet · веб-консоль dongle-m.local · отдельная Zigbee-сеть и Zigbee2MQTT с передачей в HA через Mosquitto.

Связи сервисов

  • Входящие запросыИнтернет → Ultra → Nginx на Green → HA, OpenBao, документация или Zabbix frontend по имени хоста. Внутренние БД, MQTT и Zabbix server не публикуются через эти HTTPS-маршруты.
  • Управление домомКлиенты → Home Assistant Core; HA обменивается сообщениями с Mosquitto по MQTT.
  • СекретыПриложения Green → OpenBao API по TLS с AppRole-аутентификацией.
  • МониторингБраузер → Nginx → Zabbix frontend. Frontend и Zabbix server отдельно подключаются к MariaDB :3306; frontend также обращается к server :10051. Agent2 передаёт метрики server.
  • Zigbee-сетиZBT-2 → ZHA → Home Assistant Green. Dongle-M → Zigbee2MQTT → Mosquitto → Home Assistant MQTT discovery.
  • MQTT Dongle-MКлиент SONOFF Dongle-M → Mosquitto на Home Assistant Green, TCP :1883.

Сертификаты и автоматическое продление

Один SAN-сертификат Let’s Encrypt для mmahome.ru, vault, docs и monitoring.

  • DNS-проверкаCertbot на Green → OpenBao по локальному TLS :8200 → ограниченный DNS-ключ → подписанное обновление TXT по RFC2136 на DNS primary :53 → проверка Let’s Encrypt. Доступность HTTP :80 на выдачу и продление не влияет.
  • Каждые 12 часовПриложение HassForSale Certbot проверяет необходимость продления. Автозапуск и watchdog включены; после ошибки повторная попытка через час. Успешный renew --dry-run проверен 11 октября 2026.
  • УстановкаПосле проверки SAN, срока и совпадения ключа Certbot обновляет /ssl/mmahome.ru/fullchain.pem и privkey.pem, затем перезапускает Nginx. Все четыре сервиса используют эту пару.
  • Хранение ключаDNS-ключ хранится в OpenBao по пути network/dns/mmahome.ru/acme. Certbot читает только этот секрет через отдельную AppRole; credentials-файл создаётся в tmpfs с правами 0600 и удаляется после операции. Временные TXT удаляются из DNS.
  • Проверенный срокТекущий сертификат действует до 9 января 2027, 00:15 МСК. Это срок выданного сертификата; при успешном продлении он изменится. Доверие и SAN проверены снаружи на всех четырёх именах.
  • Если продление не идётПроверьте журнал HassForSale Certbot, доступность и разблокировку OpenBao, AppRole и доступ к DNS primary TCP/UDP :53. Проверки TLS и очистки TXT выполняет scripts/Verify-MmahomeCertificates.ps1. Email-уведомления ACME не настроены.

Резервные копии и восстановление

Home Assistant и хранилище OpenBao на Green

  • Полная копия HAВ Home Assistant откройте «Настройки → Система → Резервные копии» и создайте полную зашифрованную копию. Она включает данные приложений Supervisor, в том числе Raft-хранилище OpenBao. Скачайте копию с Green на отдельный носитель или удалённое хранилище; ключ шифрования храните отдельно.
  • OpenBao RaftДля отдельной копии используйте Raft snapshot через CLI: bao operator raft snapshot save openbao.snap. Файл храните отдельно от Green. Не копируйте каталог работающего Raft вручную: в этой установке это /data/openbao/raft, управляемый приложением.
  • ВосстановлениеПосле замены или сброса Green восстановите полную копию через onboarding Home Assistant и введите её ключ шифрования. Для отдельного восстановления OpenBao используйте совместимый snapshot командой bao operator raft snapshot restore openbao.snap; эта операция заменяет текущее состояние Raft. После запуска OpenBao потребуется штатная процедура разблокировки и TLS-файлы в /ssl/openbao.

Подробности: резервные копии Home Assistant · Raft snapshot в OpenBao.

Устранение неполадок

Проверяйте компоненты по цепочке — от клиента к нужному сервису.

  • Сайт не открывается извнеПроверьте доступ из локальной сети. Если локально всё работает, проверьте DNS домена и перенаправление TCP 80/443 на Ultra к Green (192.168.4.140), затем состояние Nginx и сертификата.
  • Home Assistant доступен, другой сервис — нетУбедитесь, что используете правильный адрес сервиса: vault, docs или monitoring. Затем проверьте соответствующий виртуальный хост Nginx и само приложение.
  • В Zabbix давно не меняются метрикиНа dashboard «Green — наблюдаемость» проверьте «Состояние сбора». Если источник недоступен, проверьте Zabbix Agent 2 на Green, затем Zabbix server и базу данных.
  • OpenBao показывает, что хранилище заблокированоПосле перезапуска может понадобиться штатная разблокировка. Выполните её через защищённый доступ администратора; не вставляйте ключи в заметки, логи или чат.

FAQ

Короткие ответы о доступе и подключённых сервисах.

  • Где найти логины и пароли?В OpenBao, в соответствующем разделе «Как получить доступы». Секреты не храните в документации и не пересылайте в чате.
  • Почему Zigbee-устройство не видно в Home Assistant?Выберите сеть устройства: ZBT-2 с ZHA (канал 25) или Dongle-M с Zigbee2MQTT (канал 20). Включите добавление устройств в соответствующей интеграции и переведите устройство в режим сопряжения. Для сети Dongle-M проверьте появление устройства в Zigbee2MQTT и его доступность в HA через MQTT discovery.
  • Почему OpenBao просит разблокировку?После запуска или перезапуска хранилище может быть запечатано. Разблокировку выполняет администратор штатной процедурой.

Глоссарий

WAN
Внешняя сторона роутера, через которую приходят интернет-соединения.
LAN
Локальная сеть, соединяющая роутер, Green и сетевые устройства.
NAT
Перенаправление трафика с портов Ultra на адрес Home Assistant Green.
DNS
Система, которая сопоставляет доменное имя и сетевой адрес.
TLS / HTTPS
Шифрование соединения между браузером и Nginx.
Reverse proxy
Nginx принимает запрос и передаёт его нужному приложению по имени хоста.
HA OS
Операционная система Home Assistant Green.
Supervisor
Компонент HA OS для установки и управления приложениями.
Порт
Номер сетевой точки, через которую приложение принимает соединения.
MQTT
Лёгкий протокол обмена сообщениями; Mosquitto — брокер MQTT.
Zigbee coordinator
Главный узел, который создаёт Zigbee-сеть и подключает к ней устройства.
Zigbee router
Питаемое от сети устройство, пересылающее пакеты внутри Zigbee mesh.
Zabbix frontend
Веб-интерфейс для просмотра и настройки мониторинга.
Zabbix server
Компонент, который собирает метрики и обрабатывает события.
Raft / KV v2
Raft хранит данные OpenBao; KV v2 — версия его хранилища ключей и значений.
DNS-01 / RFC2136
Проверка владения доменом через временные TXT-записи; RFC2136 позволяет автоматически добавлять и удалять их подписанными DNS-запросами.
AppRole
Аутентификация приложений в OpenBao с ограниченными токенами.