Статья

Разворачиваем Home Assistant на виртуальной машине на железе Synology

Приветствую, уважаемые читатели. К написанию данной статьи меня сподвигли недавно обнаруженные проблемы с запуском аддонов Hassio, установленного в Docker самого NASа. Если кто не в курсе проблемы, при старте контейнера можно получить следующую ошибку:

500 Server Error for http docker://localhost/v1.39/containers/f287dec4cd768bdfef61372ed32848cf3cea5a50cb6e5bc33486454673b010fa/start: Internal Server Error (“OCI runtime create failed: container_linux.go:345: starting container process caused “exec: “/dev/init”: stat /dev/init: no such file or directory”: unknown”)

Некоторым помогало откатить версию супервизора до 2021.01.7, но к сожалению, я не из их числа. После этого я пробовал обновить докер до 20 версии с помощью кастомного скрипта, но это тоже не увенчалось успехом. После разворачивания бэкапа, я получал ошибку о нехватке памяти на диске, хотя ее там было достаточно много. Было принято решение переехать временно в виртуальную машину с образом Home Assistant Supervised, который, кстати, имеется на официальном сайте HA и вполне себе официальный способ установки. Итак, приступим.

Ставим необходимые пакеты

Для начала необходимо перейти в «Центр пакетов» своего NASа и установить Virtual Machine Manager. Сделать это можно в классическом веб-интерфейсе платформы:

Все необходимое ПО, которое предложит пакет, также ставим. После этого переходим к созданию бекапа.

Делаем снимок HA со всеми конфигами

Воспользуемся штатным созданием бекапов в Home Assistant. Идём в Supervisor - Snapshots и жмём на кнопку «Create». При этом должна быть выбрана опция Full snapshot, дабы не потерять никаких данных:

Не страшно, если у вас есть нерабочие контейнеры, в виртуалке они все равно будут работать.

Сохраняем бекап

Теперь идём в веб-интерфейс Synology в папку, где хранятся ваши конфигуратор от HA. И из папки backups копируем только что созданный бекап куда-нибудь в другое место вашего NASа, можно даже скачать его себе на локальный ПК, дабы было проще его заливать в виртуалку.

Отключаем старый инстанс HA

Тут у вас есть два пути - можно временно остановить контейнеры с нерабочим Home Assistant, либо вообще полностью его удалить, если вам важно иметь свободное место. Учесть надо то, что при разворачивании виртуальной машины вам будет необходимо минимум 32 гигабайта свободного дискового пространства. Идём в центр пакетов Synology, и в установленных находим пакет Hass.io:

Далее останавливаем его, если хотим сохранить все на сервере, либо удаляем, если необходимо свободное место. В случае, если вы остановили службу, а не удалили, идём в Docker и вручную останавливаем запущенные оставшиеся контейнеры, дабы они не ели впустую ресурсы Synology:

Скачиваем необходимый образ с оффсайта

На страничке с установкой HA в виртуальную машину есть несколько вариантов под различный софт, но нам необходим файл с расширением .ova. Проще всего скопировать на него ссылку и скачать средствами самого Synology. Так и быстрее получится, и меньше телодвижений нам придётся сделать. Ждём успешного завершения скачивания и переходим дальше.

Разворачиваем образ виртуальной машины

После всех проделанных манипуляций, идем в меню запуска приложений и нажимаем на установленный Virtual Machine Manager. Программа при-апексе потребует от вас запустить несколько вспомогательных сервисов. Соглашаемся со всем и в результате, через некоторое время, увидим перед собой следующее окно:

Идём в раздел «Виртуальная машина» и выбираем пункт импорт.

В открывшемся окне выбираем импорт из файла OVA и жмём далее.

Теперь необходимо выбрать файл образа, который мы скачали. Либо это будет ваш ПК, либо сам Synology.

Выбираем диск, на котором будут храниться основные данные виртуальной машины.

Называем свою виртуальную машину так, как вам будет удобно, и выставляем, какое максимальное количество ресурсов мы выделим свежесозданной виртуалке. Минимальные требования, по мнению создателей ХА - одноядерный процессор и два гигабайта оперативной памяти.

В следующем окошке жмём на шестеренку и выбираем Sata контроллер или следующий за ним.

В следующем окне можно ничего не менять, хотя некоторые говорят, что для более быстрой работы лучше выставить модель контроллера «virtio» для увеличения быстродействия.

В следующем окне выставляем:

  • Автозапуск: да
  • BIOS: UEFI
  • Контроллер USB: выставить «да» и выбрать нужные устройства, если у вас имеются Zigbee стик или что-то другое, необходимое в HA.

Жмём далее и выбираем пользователей, которые будут иметь доступ к виртуалке, и на следующей страничке выставляем галочку включения виртуалки после ее создания, после чего выбираем «применить».

Если все прошло успешно, то вы увидите вот такую картину:

Через 10-15 минут, если все прошло успешно, вы можете зайти на свой роутер и найти там новое подключенное устройство с выданным IP-адресом. Это и будет созданная виртуальная машина. Далее заходим классическим методом в новый инстанс HA, как это делали в самом начале настройки старого Home Assistant, производим базовую настройку, необходимо поставить аддон Samba и залить бэкап старого конфига HA, после чего восстановиться с него.

P.S.

Жор ресурсов в этом режиме будет несколько большим, чем при работе HA в докере, но нам ведь надо срочно восстановить работоспособность умного дома, а этот вариант очень хорошо подходит под наши задачи.


Эх скорейбы выпустили 7ку, а вместе с ней глядишь и весь софт обновят. Hassio уже давно ругался на докер.

В аппсторе синолоджи есть нативный ХА, который ставится без виртуалок и докеров.

Возможно, чтобы увидеть его, потребуется подключить репозиторий сторонних разрабов сино, но факт наличия версии без бубнов присутствует ;)))

Я сам его ради интереса ставил оттуда.

Речь о том, что нативный хассио на докере как раз работать почти перестал. О чем и писалось в начале)

при чем тут докер?
в аппсторе это не образ для докера, а самостоятельный сервис, который в процессах самого наса болтается, запускается как демон

в Аппсторе два варианта. один в докер, второй как вы описали.

Как по мне Home Assistant Container идеальное решение для nas. Супервизор не к чему вовсе.
Как по мне Home Assistant Container идеальное решение для nas. Супервизор не к чему вовсе.

Опередил со статьёй. Я в субботу тоже переехал, начал статью накидывать. Думал сегодня оформить :). Не успел. Спасибо за развернутый материал. 

Ребят, я что то не понял. У меня в Synology стандартный hass.io работает как часы. Что я делаю не так? Месяца 3 назад была проблема, покурил мануалы, добавил одну строчку в какой-то файл yaml и все продолжилось обновляйся как и раньше.

Если бы не было проблем, не было бы этой статьи. В синьке докер не обновляется, и при принудительном обновлении вылазит проблема драйвера хранения, в общем не работает. Апп для докера с названием Hass.io - для докера и минимальная требуемая версия у него сейчас 19. Проблему которую ты исправил это выключить проверку минимальных требований. После последнего обновления супервайзера ушли в небытие аддоны  esphome, googlebackup, mosquitto и еще куча. Докер не может их запустить. Новые версии аддонов требуют новый супервайзер. Так что пока докера нового не будет, это дорога в никуда для такой конфигурации хоумассистанта.

Я уже второй год в варианте виртуальной машины использую. Память пришлось добавить в nas. Есть много плюсов этого варианта. Например, разделил сети для УД и остальных устройств. 

сколько памяти надо ? 

у меня всего 4, я 2 гига отдал машине, 2 осталось насу,

везде поставил virt, но тормозило безбожно. в итоге вернулся на докер.

Памяти поставил 8. Но под ХА 2 отдал. После всех экспериментов никаких virt.  

Сделал все по инструкции, работает. Теперь вопрос, как попасть из внешней сети в НА (и подключить к нему приложение). Syno смотрит во внешнюю сеть через DMZ на роутере. В виртуальной машине НА имеет какой-то виртуальный IP, отличный от IP Syno. Как на этот адрес попасть?

Виртуалке должен выдаться IP из подсети роутера. У меня так по крайней мере.

Так и есть, но как именно мне настроить внешний доступ к этой виртуалке, пробрасывать через роутер отдельные порты?

Именно, так же как и в случае с установкой ХА в докер самого сино.

Наконец то все работает и все в одном месте. И весь HA можно забэкапить автоматом. Ура !

Отличная статья!
Спасибо все получилось!!

Статью прочитал уже после манипуляций, методов тыка и прочее.. Всё получилось но, остался открытым вопрос как получить доступ к файлам хранящимся на nas (музыка, видео и пр) из home assistant установленным таким образом. Он видит папку media и её содержимое а хотелось бы медиатеку.?


Вернуться назад
Вернуться назад