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

25 янв. 2019 г.

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

Ссылка на образ 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

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

[email protected]:/home/pi#  - это мы под рутом

[email protected]:~$ - это мы под пользователем

соответственно вам необходимо выполнять команду 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/hassio-build/master/install/hassio_install | bash -s -- -m MY_MACHINE

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

  • intel-nuc
  • odroid-c2
  • odroid-xu
  • orangepi-prime
  • qemuarm
  • qemuarm-64
  • qemux86
  • qemux86-64
  • raspberrypi
  • raspberrypi2
  • raspberrypi3
  • raspberrypi3-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 сохраняем и перезагружаемся

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


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

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

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

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

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

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

      • Виктор Скальский (dasp_ru)
        Виктор Скальский (dasp_ru) 27 дней назад

        Вотоночё, михалыч! Сделал локальный резолв, спасибо за наводку!

  2. (DenisZagitov) 6 дней назад

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

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

      armhf

  3. (DenisZagitov) 6 дней назад

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

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

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

    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)
      Виталий Никольский (bigmanekb) 6 дней назад

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

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

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

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

15 нояб. 2018 г.
Способы автоматизации механических ворот
15 июн. 2018 г.
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
27 авг. 2018 г.
Интегрируем ХА в HomeKit
24 авг. 2018 г.
Пошаговая установка HomeAssistant
14 нояб. 2018 г.
Плагин для интеграции в Athom Homey дочерних zigbee-устройств, подключенных на координаторы deCONZ - RaspBee или ConBee.
25 нояб. 2018 г.
Умное зеркало добавляем модули Airplay и Google Calendar
1 нояб. 2018 г.
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
3 окт. 2018 г.
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
9 нояб. 2018 г.
Очень часто от пользователей, кто только начинает знакомиться с сетью Zigbee, можно услышать вопросы: “а сколько Zigbee-устройств потянет малина?”, “я купил стик с антенной, который бьет на 2 км, но он даже на 20м не работает, как быть?” Сегодня я попытаюсь приоткрыть завесу тайны ответов на эти вопросы - расскажу свой опыт и знания о масштабировании Zigbee-сети.
24 авг. 2018 г.
Краткий экскурс в настройку Home Assistant