July 29

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, сяоми со своим барахлом тоже. Все устройства обнаруживаются автоматически.

Начнем

Так ИИ видит «Бу́дет ла́сковый дождь» (англ. There Will Come Soft Rains) — короткий рассказ Рэя Брэдбери

Крайне жуткий мультик про умный дом 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 имя:

espHome.yaml

и адрес http://192.168.1.74:6052/

Для Esphome Editor имя

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 и на другие если нужно, например на нашу систему бекапов.

Вот настройки для HA

А вот для системы бекапов

Все, у нас есть доступ + ингресс для некоторых приложений.

Ссылку с внешним адресом можно смело использовать для мобильного приложения 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: admin@example.com
  • Password: changeme

После входа тебе будет предложено сменить 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.

1

Итого

Долго возился что бы приблизить 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