HA Container V2 вместо Supervised (на arm64/debian)
По следам предыдущей установки вот тут . Это улучшенная версия для работы с внешними ссылками. Спойлер - не все приложения могут нормально работать в боковом меню, но я собрал установку с самыми необходимыми приложениями для нормального функционирования Home Assistant на таких машинках как Orange Pi. У этих машинок в отличии от raspberry pi нет официальной поддержки OS версии, а supervised будет все к концу 2025 года.
Решил для удобства собрать все в один мануал и запилить для ускорения скрипты. Папки все разделил как и в прошлый раз на стеки и конфигурации, все это нужно для дальнейшего бекапа.
Нужно железо на arm64 и debian. В принципе, можно и что-то другое а не дебиан, но у меня бекап система идет на хост и пакет рассчитан на дебиан… так что так.
Кто не юзает дебиант тот ... его не юзает
- Почистим и обновим orange pi у которого на Orangepizero3_1.0.4_debian_bookworm_server_linux6.1.31 есть проблемы с обновлением. Сразу починим докер через скрипт.
- Установим VS code для работы с конфигурациями и файлами.
- Поставим быстро и удобно через скрипт Portainer для установки в дальнейшем контейнеров. Да я хотел бы использовать Dockge, но я никак не смог заставить его работать в боковой панели.
- Установим и настроим Mosquitto и Zigbee2mqtt для работы с zigbee устройствами.
- Запилим Home Assistant
- Поставим другие контейнеры EspHome, Esphome Editor, Matter.
- Поставим контейнер с наблюдалкой за контейнерами Whats up Docker, покажу как обновлять контейнеры в Portainer. Настроим mqtt и matter в интеграциях в Home Assistant.
- Установим HACS и подключим его в Home Assistant
- Установим бекап систему и закинем весь бекап в гугл диск, как раньше делали на supervised. Поставим интеграцию Duplicati для контроля бекапов.
- Установим Hass Ingress что бы все отображалось в боковой панели, ну что возможно.
- Перейдем к удаленному доступу - я буду использовать облако кинетика.
Все! Остальное уже по мере необходимости можно достраивать - яндекс с алисой идут через HACS, сяоми со своим барахлом тоже. Все устройства обнаруживаются автоматически.
Крайне жуткий мультик про умный дом https://www.youtube.com/watch?v=quyaaszg6jc
Структура файлов будет похожа на предыдущую статью и часть шагов будет повторяться.
Лучше завести отдельный файл для сохранения паролей + нужно создать гугл аккаунт.
Часть 1: Подготовка Orange Pi и установка Docker
Обязательно присваиваим на роутере фиксированный ip для сервера - важно, так как вся настройка будет привязана к этому адресу.
Сначала подключимся к Orange Pi и выполним необходимые подготовительные действия.
Подключись к Orange Pi по SSH:
Открой терминал на своем компьютере и используй команду:
ssh root@<IP_OrangePi>
Замени <IP_OrangePi>
на фактический IP-адрес твоей Orange Pi в локальной сети. Пароль по умолчанию для root
обычно orangepi
.
Что бы поменять пароль нужно ввести
passwd
Установи правильный часовой пояс, чтобы логи и расписания работали корректно.
dpkg-reconfigure tzdata
Следуй инструкциям на экране. Тебе нужно будет выбрать Europe
, а затем Moscow
(или другой подходящий для тебя часовой пояс).
На всякий случай установим конфиг для Orange pi
sudo apt install -y orangepi-config
Запускаем скрипт по обновлению и установке докера
Как первый шаг для Orange pi 3b, в некоторых прошивках есть проблема с предустановленным докером
sudo bash -c "$(curl -fsSL 'https://raw.githubusercontent.com/smirnowegor/HA_Container/main/orangeClean%26Docker.sh')"
sudo reboot
возвращаемся к станку и настроим bluetooth
Включи Bluetooth (опционально, если планируешь использовать):
Если тебе понадобится Bluetooth для каких-либо устройств, активируй его с помощью утилиты orangepi-config.
sudo orangepi-config
В открывшемся меню orangepi-config
перейди в Wireless
(Беспроводные настройки), затем выбери BT install
(Установка Bluetooth) и убедись, что Bluetooth включен. После этого можешь выйти из утилиты.
Часть 2. Установка редактора кода VS Code и менеджера контейнеров Portainer
Установка VS code
Можно конечно подключиться удаленно через ssh к своему серверу, но это не всегда удобно и сложно если вне сети. Поэтому лучше установить сразу на систему редактор кода, он сильно облегчит внесение конфигураций.
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/smirnowegor/HA_Container/main/vscodeoneclick.sh)"
После установки нам предложат адрес и переходим по предложенному адресу. Открываем папку через “/” и будет доступна вся система.
Устанавливаем Portainer
Теперь нам нужна приложуха для установки контейнеров, хотел бы использовать Dockge, но он не работает в ингресс. Зальем тоже скриптом
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/smirnowegor/HA_Container/main/fastporainer.sh)"
Внутри портейнер сам подхватит все и сейчас попробуем его в деле.
Часть 3 Zigbee2mqtt и брокер Mosquitto
Установим и настроим Mosquitto и Zigbee2mqtt для работы с zigbee устройствами.
Опять скрипт который зальет конфигурационные файлы и создаст нужные папки - будет выбор порта для стика и тип адаптера. Нужно понять какой у тебя адаптер и выбрать. Если что, конфигурацию можно проверить и поправить через vs code который мы установили. Все будет в папке udobnidom
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/smirnowegor/HA_Container/main/fastMosqZ2M.sh)"
А вот и папки . Важно! Скрипт содает сеть docker network create homeiot_internal
и если нужно восстановить из бекапа, то скрипт не используем а просто содаем эту сеть и заливаем контейнеры.
Если скрипт создает папки и конфигурации, то ссылки на файлы ориентированы на эти папки. Мы будем использовать ссылки на гит, так как это быстрее и проще. На сам гит заходить не обязательно.
Теперь идем в Portainer - Stacks - Add Stack
Вносим гит https://github.com/smirnowegor/HA_Container и имя файла mosquitto.yaml
. Нажимаем Deploy
Тоже самое сделаем и с zigbee2mqtt
Репозиторий тот же, имя вот такое z2mFast.yaml
[z2mFast.yaml](<https://github.com/smirnowegor/HA_Container/blob/main/z2mFast.yaml>)
Смотрим логи через вкладку контейнеры
Переходим по нашему ip адресу + порт 8080
Часть 4. Великий Home Assistant и прочие контейнеры.
Установка Home Assistant
Теперь сам великий Home Assistant - идем в портенер и как ранее устанавливаем Stacks.
Репозиторий тот же, а название файла HAcontainer.yaml
организацию файла можно посмотреть в гите
https://github.com/smirnowegor/HA_Container/blob/main/HAcontainer.yaml
Запасаемся терпением и ждем когда развернется контейнер … тут статус в моменте не показывает… так что ждем.
После ввода логина и пароля мы видим что к нам стучатся приложения
Установка Esphome, esphome editor, whats up docker, сервер matter.
Делаем все как и раньше через Portainer - Stack
Подход тот же что и раньше - гит https://github.com/smirnowegor/HA_Container
espHome.yaml
и адрес http://192.168.1.74:6052/
esphomeEditor.yaml
и адрес http://192.168.1.74:3000/
Matter сервер, пока мало им пользуюсь, но вдруг нужен будет. имя
matterFast.yaml
Последний контейнер - это наблюдатель за контейнерами) Whats up docker. имя
wudOker.yaml
и адрес http://192.168.1.74:3006/
Вот так можно следить за контейнерами
Хотя у нас будет mqtt который транслируется в Home Assistant и там уже будет видно/автоматизированно уведомление.
Адрес можно смотреть и в самом портейнере
Обновление контейнеров
Когда получаем сообщение что контейнер нужно обновить, то идем в Portainer и пересоздаем контейнер Recreate
Часть 5. Настройка HACS и Home Assistant
HACS
Отличненько от предыдущего метода, быстро и удобно. Продолжаем.
Надо установить HACS - его установка должна быть в той же папке что и сам Home Assistant - иначе не встанет, если по моим папкам установка то вот последовательность (без скрипта)
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/smirnowegor/HA_Container/main/fastHacs.sh)"
Теперь переходим в Home Assistant и настроим некоторые интеграции
Добавляем Matter если сам не появился, то он есть в кнопке Добавить интеграцию. В адрес ws://localhost:5580/ws вместо localhost подставим наш ip.
System monitor
Не обязательно, но очень приятно смотреть на более красивые показатели по сравнению с Supervised версией. https://www.home-assistant.io/integrations/systemmonitor/ там синяя кнопка и через карандаш подставим наш локальный адрес HA. По дефолту все сенсоры деактивированны - выбираем нужные и активируем.
Добавление MQTT в HA
Через Добавить интеграцию добавляем MQTT - тоже самое, вводим адрес локальной машины.
И у нас сразу подключается Whats up docker и наш Zigbee2mqtt.
Когда у WUD будут обновления они сразу отобразятся. Там много настроек у этого приложения, если есть идеи и предложения как улучшить - буду признателен. Вот тут прочие настройки https://getwud.github.io/wud/#/
Теперь добавим HACS в качестве интеграции. Нам будет предложено подключить GitHub и мы его подключаем, ссылку даст сама интеграция. Удобнее будет использовать гугл аккаунт, он нам и дальше потребуется.
HACS появится на боковой панели и там мы ищем Ingress (Hass Ingress) и устанавливаем + перезагружаем.
Что бы было удобно все делать из боковых панелей мы сразу добавим VS Code. Для этого в этом сам vs code отправляемся и находим Home Assistant configuration.yaml и вставляем следующее
ingress: vscode: work_mode: ingress title: VS Code icon: mdi:microsoft-visual-studio-code url: <http://192.168.1.74:9091/> # Это адрес машины и порт который выбрали при установке VS code
Теперь перезагружаем Home Assistant и у нас в боковой панели удобный и знакомый по supervised VS Code:
Так проделываем с остальными сервисами, за иконками идем в чат ИИ любой. Я тут размещу код от других сервисов. Если во время установки использовались другие порты, тогда нужно поменять. Так или иначе - IP адрес все равно менять.
ingress: vscode: work_mode: ingress title: VS Code icon: mdi:microsoft-visual-studio-code url: http://192.168.1.74:9091 esphome: work_mode: ingress title: ESPHome icon: mdi:chip # Подходящая иконка для ESPHome url: http://192.168.1.74:6052 esphome_editor: work_mode: ingress title: ESPHome Editor icon: mdi:pencil-box-multiple # Иконка для редактора/кода url: http://192.168.1.74:3000 zigbee2mqtt: work_mode: ingress title: Zigbee2MQTT icon: mdi:zigbee # Иконка Zigbee url: http://192.168.1.74:8080 portainer: work_mode: ingress title: Portainer icon: mdi:docker # Иконка Docker, так как Portainer управляет контейнерами url: http://192.168.1.74:9000
WUD добавить не получится, ингресс с ним не работает.
Часть 6. Установка бекапа в облако Google Drive в программе Duplicati
Теперь нужно позаботится о бекапе. Для этого установим Duplicati, версию можно выбрать любую. Сам бекап через ингресс тоже не работает, но есть интеграция для проверки.
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/smirnowegor/HA_Container/main/fastDuplicati.sh)"
Переходим по предложенному адресу и используем пароль который вводили.
Добавляем интеграцию в Home Assistant репозиторий нужно добавить в HACS https://github.com/txxa/hass-duplicati
Устанавливаем интеграцию и перезагружаем.
Сразу интеграция у меня не загрузилась - на что я потратил несколько дней не понимая в чем причина. Нужно сначала создать бекап, а потом уже подключать интеграцию. Так и сделаем, идем в сам бекап и создаем новый.
Все пароли записываем в отдельный файл. Это сейчас мы помним и уверены … а настанет время бекапа и получится что забыли.
Что бы максимально приблизить к Supervised выберем гугл диск, там 15 гб бесплатно и хватит для бекапов.
Создаем для удобства папку и логинимся через гугл.
Нам дадут код который нужно будет подставить в AuthID
Выбор папок - я беру максимальное количество, кроме некоторых где большие файл установочные. Папку udobnidom обязательно включаем в бекап - там наше все!
Я выбрал эти файлы, все равно систему скорее всего переустанавливать, но главное нам сохранить наши конфигурации.
После того как бекап загрузился мы можем настроить интеграцию в Home Assistant.
Для этого в Добавить интеграции добавляем Diplicati и вбиваем http://localhost:8200 и наш пароль от входа в интерфейс.
Часть 7. Удаленный доступ через keenetic доменное имя.
По поводу роутеров от кинетика до сих пор идет холивар - часть людей их ругают что горят и ломаются, а часть говорит что топ за свои деньги (не малые). Я примкну ко второй группе. Так вот в этих роутерах есть огонь фича - доменное имя, которое направляет трафик прямо на наш сервер.
Создаем себе доменное имя и делаем нужные нам ссылки на сервисы. На сам Home Assistant и на другие если нужно, например на нашу систему бекапов.
Все, у нас есть доступ + ингресс для некоторых приложений.
Ссылку с внешним адресом можно смело использовать для мобильного приложения Home Assistant.
Удаленный доступ 2 через через Dataplicity.
Тут уже будет чуть сложнее, так как теперь Dataplicity ведет только на 80й порт и нужно будет перенаправлять. Значит ставим сначала nginx. В принципе, с ним можно организовать и https соединение внутри сети если нужно.
В Portainer как и все что до этого ставили теперь ставим nginx. Репозиторий и название файла
nginxFast.yaml
Открой веб-интерфейс Nginx Proxy Manager:
http://<IP_OrangePi>:81
Например, http://192.168.2.38:81
.
Ты увидишь страницу входа. Используй данные администратора по умолчанию:
После входа тебе будет предложено сменить Email и пароль. Обязательно смени их на свои надежные данные.
После регистрации можем перейти в Hosts
Тем временем переходим на сайт Dataplicity вбиваем наш гугловский адрес или входим регистрируемся
Нам нужно будет добавить новое устройство, адрес вбиваем в командную строку нашего сервера.
Скрипт сам установит приложение.
Нам будет предложено перейти по ссылке что и делаем. Сервер в строю! Идем и включаем Wormhole.
Когда мы перейдем по ссылке нас встретит Nginx, сейчас его донастроим.
Вот наш адрес https://aneuploid-dunlin-4099.dataplicity.io/ отрезаем от него лишнее и оставляем aneuploid-dunlin-4099.dataplicity.io
Это пойдет в Nginx и направляем на наш адрес и порт от Home Assistant.
Скорее всего Home Assistant встретит нас недовольством и ошибкой 404. Тогда идем в логи контейнера и смотрим кто стучится и видим адрес 172.19.0.4
2025-07-28 21:14:33.290 ERROR (MainThread) [homeassistant.components.http.forwarded] A request from a reverse proxy was received from 172.19.0.4, but your HTTP integration is not set-up for reverse proxies 2025-07-28 21:14:34.018 ERROR (MainThread) [homeassistant.components.http.forwarded] A request from a reverse proxy was received from 172.19.0.4, but your HTTP integration is not set-up for reverse proxies
И тогда в конфигурации Home Assistant добавляем запись
http: use_x_forwarded_for: true # Включает использование заголовка X‑Forwarded‑For, благодаря которому Home Assistant видит реальный IP‑адрес клиента (а не прокси). trusted_proxies: - 127.0.0.1 # Локальный адрес — если Nginx Proxy Manager работает на той же машине, что и HA. - ::1 # IPv6-эквивалент localhost — на случай IPv6 соединений. - 172.19.0.4 # IP вашего обратного прокси (NPM в Docker). Замените на IP, который фигурирует в логах HA.
Итого
Долго возился что бы приблизить HA container к версии Supervised, попутно залез во всякие кубернетес и NAS … что оказалось очень интересным. Помимо любопытства мне нужна была стабильная сборка для установки умного дома для клиентов - и я ее нашел.
Главное - удаленный доступ и настройка. С помощью кинетика достаточно просто организовать доступ из вне и при этом не открывать порты. Значит пароли должны быть надежными и меняться переодически. В VS code который установлен на саму машину можно также вызвать терминал и вносить изменения в линуксе. В Portainer можно обновлять и добавлять контейнеры при необходимости.
Hass ingress позволяет переходить по внешней ссылке и использовать основные приложения.
Если не используете Raspberry Pi или ODROID или мини-пк (х86) тогда особо выбора теперь и нет.
Хочу больше разобраться с ingress так как не все приложения у меня получилось настроить.
NGINX тоже интересная тема для домашних серверов.
NAS система - буду изучать когда стану переводить свой сервер. https://www.openmediavault.org/
Способ 1 Поддержать автора
Способ 2 https://donate.stream/yoomoney410013774736621
или через криптокошелёк (Только USDT) TCHekdJZFndXpDrHZGuTmqFNcqhWBTTzPr
Связаться со мной. (Консультации, проектирование и обучение)
Новый подход к электрике и дизайну помещений. Некоторые провода уже не нужно тянуть, какие-то решения можно принять после ремонта. Перенести выключатель, запустить кондиционер с телефона - возможно автоматизировать любую рутину.
Мой телеграм канал, там все быстрее обновляется телеграм.
Сайт smart4home.ru и альтернативный Умный дом на любом этапе
Соц сети: RuTube канал Удобный дом / You Tube канал Удобный дом Яндекс Дзен: Удобный дом / InGram
Платформы специалистов: Авито / Профи.ру / Яндекс Услуги https://uslugi.yandex.ru/profile/EgorSmirnov-2294380?from=telek