Hassio в Docker - установка куда угодно включая Deconz

25 января 2019, 15:04

Чисто, чтобы не забыть чем пользовался в процессе мучений с разными инсталляциями:

Ссылка на образ Deconz для Raspberry Pi 3 

SSH 

пользователь: pi 

пароль: raspbeegw

Алгоритм установки Docker который точно работает

Установка хассио в докер через скрипт

Установка

Исходное состояние:

компьютер с предустановленной операционной системой (Raspberry Pi или что то вроде того)

Ставим Docker

sudo apt-get update
sudo apt-get install -y bash curl git jq avahi-daemon dbus apparmor-utils network-manager libavahi-compat-libdnssd-dev libatlas3-base 
sudo curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh

Дальше нам нужно убедиться, что мы залогинены под юзером а не под root 

После выполнения последнего скрипта вы можете остаться под root - это будет понятно, если на конце командной строки вы увидите символ #, а в начале строки увидите root

выглядит это так:

root@raspberry:/home/pi#  - это мы под рутом

pi@raspberry:~$ - это мы под пользователем

соответственно вам необходимо выполнять команду exit до момента появления на хвосте строки символа $

дальше добавляем группу docker и добавляем в нее пользователя

sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker

Дальше ставим Portainer.io в докер - отдельно от hass.io чтобы он не зависел от управляющего супервизора хассио

docker pull portainer/portainer
docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Дальше проверяем работу portainer сходив по ссылке http://ip_малины:9000

Дальше продолжаем работу через ssh

sudo su
curl -sL https://raw.githubusercontent.com/home-assistant/supervised-installer/1f30d124ef7d0ee84b45d1772cb5c1e4a94c67b8/installer.sh | bash -s -- -m MY_MACHINE

где вместо MY_MACHINE вы должны подставить один из следующих вариантов:

  • intel-nuc
  • odroid-c2
  • odroid-xu
  • orangepi-prime
  • qemuarm
  • qemuarm-64
  • qemux86
  • qemux86-64
  • raspberrypi
  • raspberrypi2
  • raspberrypi3
  • raspberrypi4
  • raspberrypi3-64
  • raspberrypi4-64
  • tinker

Дальше пойдут недокументированные в официальных документациях варианты, но работающие и имеющие место быть

  • i386
  • amd64
  • armhf
  • aarch64

Эти варианты надо использовать, при условии что указанные ранее - вам не подходят.

Комментарии для подготовленных

Разница в работе систем заключается в том, что некоторые аддоны hassio не работают в некоторых режимах. То есть, если мы берем вариант с Raspberry Pi 3 B , то на ней можно работать как в варианте raspberrypi3 так и raspberrypi3-64. Разница в том, что первый 32-битный, а второй 64 битный. И вы потеряете аддоны, у которых нет репозиториев для этой архитектуры (их немного, в основном они все совместимы), но 64-битная система иногда работает быстрее чем 32-битная. 

В вариантах, когда у вас не малина, а как у меня Rock64 или Le Potato, то тут все зависит от системы, которую вы поставите.

для Rock64 идет штатно DietPi aarch64

для Le Potato есть варианты ubuntu или debian с ядром aarch64, но хост системой с архитектурой armhf (лайфхак, ставьте вариант для odroid-c2, у них практически одинаковое железо)

супервизор при этом поставится исключительно под ту архитектуру, на которой крутится ядро хоста. То есть если у вас стоит raspbian aarch64 - то и супервизор поставится aarch64

Конец комментариев для подготовленных

Ну а дальше мы получаем рабочий hassio по адресу http://ip_малины:8123

Команды для проверки DNS серверов в контейнерах

docker exec homeassistant cat /etc/resolv.conf
docker exec hassio_supervisor cat /etc/resolv.conf

Докер по умолчанию создает некий виртуальный DNS сервер по адресу 127.0.0.11

и он почему то лезет вообще во внешку и подцепляет DNS сервер провайдера

Поэтому начинает глючить телеграм, так как ДомРу, например, меняет ДНС записи.

Поэтому идем редактируем  /etc/docker/daemon.json 

и прописываем свой локальный адрес рутера

{"dns": ["IP_адрес_рутера"]}

Маленькое дополнение:

смена DNS не помогает в 60% случаев, поэтому нужно прописывать физически адреса в файл hosts

для этого делаем просто

docker exec -it homeassistant bash
vi /etc/hosts

А дальше прописываем в файле 149.154.167.220 api.telegram.org сохраняем и перезагружаемся

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


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @Soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Виктор Скальский (dasp_ru)
    1. После установки network-manager вы можете потерять сетевые настройки как было у меня на raspbian. Добавлял инит интерфейсов кастомно.
    2. 2. Вторым днс адресом все же стоит добавить восьмерки, потому что докер контейнеры не всё будут нормально резолвить, у меня летсэнкрипт не мог увидеть своё, даже не смотря на то, что на хостовой машине все резолвилось.
    • Виталий Никольский (bigmanekb)

      1. Четыре разных установки, все четко и ничего не теряется

      2. Если рутер умеет менять файл hosts то все это не нужно, но вот если не умеет, то у рутера ставим восьмерки а в докере ставим рутер. Иначе локально в домашней сети начнутся проблемы.

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

    • Виталий Никольский (bigmanekb)
      Виталий Никольский (bigmanekb) отредактировано год назад

      Если мы ставим в докер допом восьмерки, то включается round-robin. А если все ссылки в конфиге идут на duckdns, то если вы не откроете на рутере извне кучу портов внутрь, то будут проблемы. Именно поэтому на рутере я прописываю в hosts внутренний IP для duckdns домена своего НА

  2. (DenisZagitov)
    (DenisZagitov) год назад

    для RasPI Zero W какой параметр выбрать? raspberrypi или armhf?

  3. (DenisZagitov)
    (DenisZagitov) год назад

    Можете написать так же коyфиг под docker-compose?

    • Виталий Никольский (bigmanekb)
      неа, у меня не встал компоуз, да он в данной версии и не нужен, так как для хассио он бесполезен. hassio supervisor сам занимается контролем запуска и жизни компонентов. Потому оно и не убиваемо практически. Реально убить хассио достаточно сложно, даже если это необходимо админу.
  4. (DenisZagitov)
    (DenisZagitov) год назад

    После выполнения этой команды малинка стала чудить.

    sudo apt-get install -y bash curl git jq avahi-daemon dbus apparmor-utils network-manager libavahi-compat-libdnssd-dev libatlas3-base 
    

    Каждый раз при подключении к сети меняется мак-адрес. С чем это связано?

    После выполнения второго скирипта вообще докер умер...

    curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s -- -m armhf

    Теперь у меня не наботает ни новый НА, ни старый)

    • Виталий Никольский (bigmanekb)

      Эта установка работает нормально только на пустой системе, потому что старый софт может вызывать вот такие вот проблемы. И ставить хассио в докер при наличии работающего НА на этой же малине - низя. Они за порты передерутся жеж.

      поэтому надо выуживать конфиги старого НА и ставить нулевую систему

      • (DenisZagitov)
        (DenisZagitov) год назад

        Купил я новую RPi3B+ взамен RPi0W и все взлетело, спасибо за гайд!

        Но почему-то устройства теперь не видят малину по имени хоста, только через айпишник работает.

    • Дмитрий Арсенков (Crickus)
      Дмитрий Арсенков (Crickus) 9 месяцев назад

      Понимаю, что вопрос не первой свежести, но может кому-то сэкономлю время и нервы.

      Сегодня с этим столкнулся. Спасибо, добрые люди решение подсказали. Такое поведение малинки - настройки по-умолчанию для network-manager (одного из поставленных пакетов). Он так сканирует WiFi сети с перебором MAC.

      Чтобы его успокоить нужно добавить в файл /etc/NetworkManager/NetworkManager.conf строки:

      [device]

      wifi.scan-rand-mac-address=no

    • Roman Samsonov (LakeOfTears)
      Roman Samsonov (LakeOfTears) отредактировано 8 месяцев назад
      Комментарий удален
  5. Евгений Лузин (EvLuz)

    Установил на образ Deconz и потом активировал Deconz в контейнере через аддон, теперь у меня  при заходе с хассио в Деконз два Фоскона.

    Один привязанный, а второй просит активироваться, у него ввести новый пароль. Если мысли? 

    • Виталий Никольский (bigmanekb)

      один фоскон из любого места может управлять любым деконзом... так что ничего удивительного. Можно пользовать оба, только смысл ? надо один снести и все :)

  6. (Baden-Baden)
    (Baden-Baden) год назад

    for raspberry 3B+

    curl -sL https://gist.githubusercontent... | bash -s

  7. (DenisZagitov)
    (DenisZagitov) год назад

    А как отключить автоматический перезапуск супервизора? я хочу потушить HA на время, но супервизору не могу скомандовать restart: none

    • Виталий Никольский (bigmanekb)

      супервизор это неубиваемая штука. И потушить НА на время это только запаузить контейнер ХА. Супервизор лучше ваще не трогать :)))

    • (pruwait)
      (pruwait) 8 месяцев назад

      Возможно, так:

      sudo systemctl stop hassio-supervisor.service

      • (DenisZagitov)
        (DenisZagitov) 8 месяцев назад

        немного не так:

        systemctl disable hassio-apparmor.service & systemctl disable hassio-supervisor.service

  8. (pruwait)
    (pruwait) 8 месяцев назад

    После установки останавливается контейнер  hassio_dns

    При этом hassio в логе:

    19-11-02 09:29:14 WARNING (MainThread) [hassio.tasks] Watchdog found a problem with CoreDNS plugin! 19-11-02 09:29:14 WARNING (MainThread) [hassio.tasks] CoreDNS plugin is in fails state / Reset config

    Как победить?

    • Виталий Никольский (bigmanekb)

      что за контейнер такой интересный ? и зачем он ? 

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

    • (pruwait)
      (pruwait) 8 месяцев назад

      Похоже, проблема в настройках маршрутизатора mikroTik. Подключил к TP-Link и все заработало.

      • (pruwait)
        (pruwait) 8 месяцев назад

        Здесь все оказалось очевидно. Был закрыт для всех 53 порт ДНС на Микротике, открыл его для локалки и все заработало. Иначе контейнер DNS Hassio останавливался и перезапускался после неудачных попыток достучаться до сервера ДНС.

    • Илья Яшин (yshinig)
      Илья Яшин (yshinig) 3 месяца назад

      Победили проблему? Расскажите как!

  9. (pruwait)
    (pruwait) 8 месяцев назад

    Debian 10 Linux orangepioneplus 5.3.7-sunxi64 #5.99.191031 SMP Thu Oct 31 02:46:05 CET 2019 aarch64 GNU/Linux

    хассио поставлен по вашей инструкции

    Docker version 19.03.4, build 9013bf5

    DNS правился так:

    $ sudo nano /etc/docker/daemon.json
    
    {
        "dns": ["8.8.8.8", "8.8.4.4"]
    }
  10. (pruwait)
    (pruwait) 8 месяцев назад

    На данный момент работает hassio в докере. Ставлю штатные аддоны. А вот если нужно поставить дополнительные компоненты в докере, какие будут действия? Хочу чтоб подключить Yandex Home. Думаю, инструкция об этом пригодится многим.

  11. : )  (2Sist)
    : ) (2Sist) отредактировано 7 месяцев назад

    Если ставим на бомж ПК, принцип установки такой же?

    Делаю всё по инструкции, вроде всё ставится, но дохожу до команды 

    docker exec homeassistant cat /etc/resolv.conf

    и он ругается, что директории нет.

    В линукс системах вообще не понимаю ничего...  :(

    Может есть вариант поднять сервер на чем нибудь другом?

    Комп:  Мать Asus C60M1-I, двухъядерный процессор AMD С-60 и графическое ядро AMD Radeon HD 6290, 4 Гб оперативной памяти ну и винт какой то.

    UPT.:

    "Дальше продолжаем работу через ssh"

    Обязательно Hassio устанавливать через SSH?

    sudo su curl -sL https://raw.githubusercontent.... | bash -s -- -m MY_MACHINE  В этой строке вместо  MY_MACHINE ставлю amd64?

    • Виталий Никольский (bigmanekb)

      Нет, ставим не amd64 а intel-nuc


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

      docker exec homeassistant cat /etc/resolv.conf
  12. (kotolove)
    (kotolove) отредактировано 7 месяцев назад
    Комментарий удален
  13. (3km)
    (3km) 7 месяцев назад

    Подскажите, для чего нужно устанавливать образ докера под обычным пользователем, а не root?

  14. Антон Хлонь (Khlon_av)
    Антон Хлонь (Khlon_av) 6 месяцев назад

    Поставил по этой статье. все отлично все работает. по возможности допишите как пробрасывать usb устройства в контейнер что б hassio их видел. например usb modbus или usb uart для прошивки устройств напрямую с esphome.

    Спасибо)

    • Виталий Никольский (bigmanekb)

      Дак он их видит. Если сходить в раздел hardware то при подключении устройств они появляются в виде /dev/четатам

  15. (max_cross)
    (max_cross) отредактировано 5 месяцев назад

    Всем привет. Нужна помощь, установил по скрипту hassio в докер на расбери. Но когда захожу на raspberry_ip:8123 то ничего не вижу. Установка прошла без проблем. Перед установкой остановил уже настроенный HA, то есть по идее раз он остановлен то они не должны конфликтовать. Не могу понять почему не вижу hassio по адресу. Может кто поможет понять в чем причина?!

  16. (xrust)
    (xrust) 3 месяца назад

    Изменения!

    curl -sL https://raw.githubusercontent.... | bash -s -- -m raspberrypi3

    https://github.com/home-assistant/supervised-installer

  17. (manjak.radio)
    (manjak.radio) отредактировано 2 месяца назад

    Доброго!

    Железо RasberryPi 4b + ssd(в USB3.0 кармане) + microSD загрузочная. Загрузчик BerryBoot2.0. Система Raspbian

    Проблема та же, что и у  (pruwait)  :

    <p>20-05-09 08:37:40 WARNING (MainThread) [supervisor.tasks] Watchdog found a problem with CoreDNS plugin!</p><p>
    20-05-09 08:37:41 ERROR (MainThread) [supervisor.tasks] CoreDNS plugin is in fails state / Reset config</p><p>
    20-05-09 08:37:41 INFO (MainThread) [supervisor.plugins.dns] Start CoreDNS plugin</p><p>
    20-05-09 08:37:41 INFO (SyncWorker_7) [supervisor.docker.interface] Clean hassio_dns application</p><p>
    </p>
    daemon.json
    
    {
        "storage-driver": "vfs",
        "dns": ["8.8.8.8", "8.8.4.4"]
    }

    Роутер Xiaomi R3@padavan 53 порт вроде открыт 

    Разрешить диапазон для внутренних портов: 21-65535

  18. (ftlpack)
    (ftlpack) отредактировано 2 месяца назад

    Данный метод установки теперь не актуален. Как написал его автор, поддержка данного метода и обновление прекращены. Если интересно вот  Ссылка

    • Виталий Никольский (bigmanekb)

      ну судя по последнему обновлению поста - они пока не остановили. Вообще это забавный прецедент, когда создатели опенсорс решения, ссылаясь на перегруженность персонала - говорят "либо скидывайтесь на работников, либо извините" :)))

      В итоге я думаю как только они отключат этот вариант, они потеряют очень большой пул своих пользователей. Альтернатив уже довольно достаточно.

      • (ftlpack)
        (ftlpack) 2 месяца назад

        Ну я не смог поставить hass.io по имеющейся ссылке. Хотя неделю назад ставил на тестовой машине. Сегодня уже не работает. 


        Согласен с вами, что это только портит репутацию. 

  19. (Alexus-12)
    (Alexus-12) месяц назад

    Подскажите, пытаюсь установить Хассио с помощью выше приведенных скриптов. Но ничего не происходит. Просто выкидывает в командную строку. В чем может быть дело?

    Установка через скрипт по прежнему актуальна, этот способ не закрыли? И как теперь устанавливать Ассистант?

К списку статей

Устройства в материале

Raspberry Pi 4

Производитель: Raspberry Pi
Заказать на:

Raspberry Pi 3 Model B+

Производитель: Raspberry Pi
Заказать на:

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

LifeControl

+7 495 240-81-01
Промокод:
sprut10
Размер скидки:
10%
На весь ассортимент Lifecontrol

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
15 ноября 2018, 09:42
Способы автоматизации механических ворот
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
11 апреля 2020, 14:15
Повествование про разработку ZigBee стика для SprutHub
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
18 февраля 2020, 17:06
В данной статье описывается сборка слаботочного эл. щита на базе Wiren Board 6, а так же силового щита для небольшой квартиры.
29 октября 2019, 07:59
Умный домофон на базе nodeMCU с прошивкой ESPHome.