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/hassio-installer/master/hassio_install.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
  • 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 сохраняем и перезагружаемся

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


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

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

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

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

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

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

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

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

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

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

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

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

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

    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) 6 месяцев назад

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

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

    • Дмитрий Арсенков (Crickus)

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

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

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

      [device]

      wifi.scan-rand-mac-address=no

  5. Евгений Лузин (EvLuz)
    Евгений Лузин (EvLuz) 7 месяцев назад

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

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

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

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

  6. (Baden-Baden)
    (Baden-Baden) 6 месяцев назад

    for raspberry 3B+

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

  7. (DenisZagitov)
    (DenisZagitov) 3 месяца назад

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

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

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

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

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

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

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

LifeControl

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

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

15 ноября 2018, 09:42
Способы автоматизации механических ворот
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
24 августа 2018, 10:15
Краткий экскурс в настройку Home Assistant
11 мая 2019, 19:57
Как активировать русский язык в Google Assistant для Google Home
09 ноября 2018, 17:27
Очень часто от пользователей, кто только начинает знакомиться с сетью Zigbee, можно услышать вопросы: “а сколько Zigbee-устройств потянет малина?”, “я купил стик с антенной, который бьет на 2 км, но он даже на 20м не работает, как быть?” Сегодня я попытаюсь приоткрыть завесу тайны ответов на эти вопросы - расскажу свой опыт и знания о масштабировании Zigbee-сети.