Главная > Умный дом > Попытка перенести Home Assistant в Docker на Raspberry Pi c SSD
Попытка перенести Home Assistant в Docker на Raspberry Pi c SSD3 февраля 2021. Разместил: dimon |
В этой заметке я просто опишу проблемы, с которыми я столкнулся при переносе Home Assistant с SD карты на SSD и развертыванию системы в Docker-е на Raspberry Pi..
С переездом созрел я и к обновлению сервера умного дома - точнее к смене платформы с Domoticz на Home Assistant. Сначала на второй Raspberry Pi 3 Model B я просто развернул Hassio на SD-карту по инструкции с официального сайта, вроде все работает с моим зоопарком умных устройств - Xiaomi Smart Home, Sonoff RF bridge на Tasmota, сяоми роутером и APC UPS. Потом немного вникнув в тему, мне показалось, что нужно HA ставить в Докер, чтобы потом на любом железе/ОС можно было поднять тот же инстанс без особых проблем. Для пробы, я грохнул на основной малине Домотикз, и решил использовать ее в качестве тестового стенда - на нее поставить SSD, Raspberry Pi OS Lite, Docker, а уже в него запихать Home Assistant. Первое что делаем - ставим бит загрузки с USB по инструкции с официального сайта, т.к. Pi 3B по умолчанию с ЮСБ не грузится. Дополнительная инструкция на русском языке от Sprut.AI После этого подключаем SSD к компьютеру и с помощью balenaEtcher заливаем на него скачанный с официального сайта образ для Raspberry Pi 3 Model B and B+ 32-bit. Для того чтобы наша Малина подключилась к Wi-Fi и на ней работал SSH, кладем в boot раздел два файла - пустой ssh и wpa_supplicant.conf с содержимым:
Официальный манула по подключению Raspberry Pi к вайфайю Но почему-то Raspberry Pi не подключилась к WiFi сети, пришлось брать монитор, клавиатуру и заходить в консоль. Попытался настроить сеть через sudo raspi-config и получил ошибку "could not communicate with wpa_supplicant". Помог официальный форум - оказывается нужно добавить еще страну в файл wpa_supplicant.conf в загрузочном разделе:
Дальше я по инструкции Alex-а Kvazis-а начал обновлять ОС и ставим все остальное - Docker и Home Assistant в Докер. Home Assistant. Урок 1.1 Установка. Raspberry Pi 3B, 3B+ raspbian, portainer, hass.io При установке у меня были отступления от инструкции Алекса. У меня Малина подключена к роутеру по ВиФи, и статику для сетевого интерфейса я не стал настраивать - просто сделал резервацию адреса для этой малины в DHCP роутера. Просто лично мне так удобнее. На этой Raspberry Pi3B больше пяти лет работал Domoticz. Проблем из-за того что используется беспроводное подключение, а не проводное, я за все это время не наблюдал. Продолжим и выполняем установку необходимых пакетов:
После того как я выполнил установку кучи пакетов, не смог по ssh подключаться к Малине. Поэтому я полез на роутер и обнаружил, что у Pi поменялся ip-адрес. После следующей перезагрузки, ситуация повторилась и у Малину уже третий MAC. Оказалось все просто. Одно из приложений - NeworkManager - имеет такую фичу “MAC randomisation is a security feature designed to keep the DHCP server from guessing who you are” Ссылка на форум Если бы я использовал проводное соединение, то не столкнулся бы с этой проблемой. Nework Manager позволяет отключать эту фичу "MAC address randomization". Нужно создать файл /etc/NetworkManager/conf.d/100-disable-wifi-mac-randomization.conf с содержимым:
Поборов эту проблему, я продолжил установку по инструкции Алекса. Дошел до пункта установки Хасио в контейнер и получаю ошибку:
Такая ошибка описана в Issues на GitHub Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.65.1:53: server misbehaving #1317. Решение для Apple MAC - "change nameserver to 8.8.8.8". Я сделал это на роутере - просто изменив основной DNS сервер на Гугловский. Новая попытка установки и новая ошибка:
Добавил прав в команду Но получил другую ошибку
Опять изменил команду:
И наконец то:
Залил backup с боевой Raspberry Pi с Home Assistant, восстановил. Вроде бы все работает. Побаловавшись с Docker-ом, я так и не смог для себя найти преимущества такого решения. На мой взгляд официальный образ Home Assistant имеет больше преимуществ - это и поддержка, не нужно ставить кучу дополнительного софта чтобы HA заработал, плюс легко разворачивается - просто залил образ и восстановил инстанс из бэкапа, легкость установки аддонов и интеграций. Единственное что я хотел бы еще сделать - это перенести Home Assistant OS (Hass.io) на SSD, но на Raspberry Pi Model 3B это оказалось сделать проблематично. После разворачивания Hass.io на SSD, Малина как то очень нестабильно стала загружаться - иногда нужно несколько раз ее перезагрузить по питанию, чтобы она начала стартовать с USB SSD. Возможно нужна модель поновее, возможно переходник USB-to-SATA (usb2sata) с Алиэкспресс оказался кривой. Причем второй вариант более вероятный - т.к. друг использует плату расширения Raspberry Pi X820 с 2.5” SATA SSD, и у него такая проблема не наблюдается. Вернуться назад |