Карта инфраструктуры
Узлы домашней системы, связи между ними и значения терминов на одной странице.
Как получить доступы
Пользовательские данные и секреты приложений хранятся в OpenBao.
- Войти в OpenBaoОткройте vault.mmahome.ru. На экране входа выберите Username вместо Token. Логин и пароль напечатаны на стикере и содержатся в QR-коде.
- Найти секретВ
secretданные разложены по папкам. В списке ниже указано, куда переходить: например,homeassistant/access— сначала откройте папкуhomeassistant, затемaccess. - Home Assistant
homeassistant/access— имя пользователя и пароль HA;homeassistant/backup— ключ расшифровки резервных копий. - Сеть и Zigbee
network/craze-dns— учётные данные DNS на роутере;iot/sonoff-dongle-m— пароль панели Dongle-M;iot/sonoff-dongle-m/mqtt— отдельные логин и пароль MQTT. - Zabbix
zabbix/runtime— имя и пароль пользователя БД, пароль root БД и пароль администратора Zabbix. - SSH к Green
ssh/ha-greenсодержит SSH-ключ и параметры подключения. Он выдаётся отдельной ролью для обслуживания; не пересылайте приватный ключ и не вставляйте его в чаты. - Доступ приложенийДля автоматизации используются AppRole
role_idиsecret_id. Это отдельные машинные учётные данные, не логин для веб-интерфейса.
Сервисы
Управление домом, интеграции устройств, сценарии и автоматизации.
Входной reverse proxy на Green: принимает HTTPS и направляет запросы к приложениям.
Хранилище технических секретов и API для внутренних приложений.
Сбор метрик, веб-интерфейс и база данных мониторинга.
Сетевая веб-консоль Zigbee/Thread адаптера.
Топология
Внешний трафик, сервисы и фактические подключения оборудования
Публичный домен и входящие запросы.
WAN 192.168.2.41/22 · LAN 192.168.4.1/24.
NAT TCP 80/443 → Green 192.168.4.140.Входной шлюз HTTPS · выбор сервиса по имени хоста.
Порты Nginx: TCP 80/443 · TLS завершается здесь.- mmahome.ruHome Assistant Core
HTTP :88 · интерфейс, REST API и WebSocket. Далее HA управляет устройствами через интеграции ZHA и MQTT.
- vault.mmahome.ruOpenBao 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.ruZabbix 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 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 с ограниченными токенами.