Установка Home Assistant на AltLinux

Материал из ЭНЭ
Перейти к: навигация, поиск

Установка Home Assistant на AltLinux

Скачиваем дистрибутив образа

(Фото 1)Raspberry Pi4 с видео камерой на борту, SD карточка и адаптер для записи на карту

Чтобы поставить и запустить Home Assistant на ARM контроллере, в нашем случае мы имеем Raspberri Pi4 (причем он у нас уже с подключенной камерой) Вместо него может быть использован любой одноплатный комп, например raspberiPy или Repka . Нам понадобится SD-карта не менее чем 8 Гбайт и адаптер для записи на нее образа скаченной операционной системы (Фото 1).

Варианты установки системы Home Assistant могут быть различными:

  1. Установить HA уже на предустановленную ОС - вариант HAOS. В этом случае будут доступны максимально возможные опции.
  2. Установить HA в режиме контейнера Docker или VirtualBox. В этом случае не будет доступа к Супервайзеру и Аддонам, их придется доустановить в ОС самостоятельно.
  3. Установить HA в режиме CORE. В этом случае будет установлено только одно ядро системы, без дополнений и удобств, которые можно будет доустановить уже самостоятельно.

Почитать про разные методы установки можно здесь , словарь терминов и определений в HomeAssistan здесь.

Скачиваем дистрибутив Альтлинукс для ARM с официального сайта http://nightly.altlinux.org/p10-aarch64/release/ последнюю версию нужного нам образа ISO, например вот эту alt-p10-builder-20230610-aarch64.img.xz. Если же у вас процессор архитектуры Intel - 64 разрядный, то образ ISO вам нужно скачивать вот этот alt-p10-builder-20230610-x86_64.iso Для скачивания образа из консоли можно использовать команду wget:

$ wget http://nightly.altlinux.org/p10-aarch64/release/alt-p10-builder-20230610-aarch64.img.xz

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

$ cd /home/user/distrib

После завершения процесс скачивания, вставляем карточку SD через адаптер (фото 1)в USB разъем, чтобы проверить на какой том это устройство смонтировалось при подключении. Для проверки используем команду df, и видим примерно такой вывод:

udevfs             1,9G          96K  1,9G            1% /dev
/dev/sdb5          7,5G         4,0K  7,5G            1% /run/media/user/4785-9AD2

Отсюда мы делаем вывод, что наше устройство смонтировано на том /dev/sdb. После это, мы запускаем команду копирования образа ISO на на SD носитель, командой, которая потребует ввести пароль рута:

$ su -c "xzcat alt-p10-builder-20230610-aarch64.img.xz |dd of=/dev/sdb bs=4M status=progress"

Запускаем операционку на одноплатнике

Вставляем нашу SD карточку, с записанным на нее ISO образом операционной системы в одноплатник. Подаем питание на него. Для работы дальше, можно использовать монитор, подключенный к компу и клавиатуру. А можно соединиться и работать сразу по сети, но тогда предварительно надо будет сгенерить ключ для входа в root и положить его в корневую директорию SD карточки. Если прошло все без ошибок, то увидим приглашение и входим в рута:

login: root
password: altlinux
окно логина при входе в систему


Убедимся, что сервис удаленного доступа по протоколу SSH - sshd запущен, для этого выполняем команду

# systemctl enable sshd --now

должны получить ответ # /lib/systemd/systemd-sysv-install enable sshd Обновляем для верности всю систему:

# apt-get update

Если обновление прошло нормально, то в конце вывода мы должны увидеть что то в таком духе:

Найдено http://ftp.altlinux.org p10/branch/noarch/classic release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено

Теперь нам надо добавить пользователя, в нашем примере мы его назвали user, задаем ему пароль (вводим два раза, без отображения на экране) и включаем этого пользователя в группы, которые нам понадобятся в дальнейшем при настройке системы :

# adduser user; passwd user; usermod -aG wheel user;  usermod -aG wheel user; usermod -aG docker user; usermod -aG uucp user; usermod -aG video user

Для того, чтобы мы могли дистанционно заходить на наш хост, нам нужно знать его IP адрес, который он получает от DHCP сервера, для этого определяем IP адрес нашего одноплатника командой ifconfig

$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr DC:A6:32:C3:68:66  
         inet addr:192.168.9.132  Bcast:192.168.9.255  Mask:255.255.255.0
         inet6 addr: fe80::4a4f:c4ca:9857:d421/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:432562 errors:0 dropped:0 overruns:0 frame:0
         TX packets:177156 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:607652351 (579.5 MiB)  TX bytes:12324924 (11.7 MiB)

Выходим из рута. Переподсоединяемся по ssh в пользователя user, для этого в консоли, уже на своей локальной машине задаем команду для входа в одноплатник по сети на IP адрес 192.168.9.132:

$ ssh user@192.168.9.132

Если у вас ос Windows, то можете использовать для входа программу Putty, как ее сконфигурить и настроить написано в ее разделе помощь.

Устанавливаем Home Assistant

Вывод команды df при первом входе

При первом входе в систему размер партиции корневой директории может оказаться заполненным на 100% и составлять порядка 2Гб. Для того чтобы использовать весь размер SD карточки, нужно перезагрузить систему.

Для установки в режиме Container ставим два пакета, сам докер и докер композер. Почитать более подробно про Compose plugin можно здесь. Для их установки нам понадобится ввести пароль рута.

su -c "apt-get install docker-engine docker-compose"

Запускаем сам докер

$ systemctl enable --now docker

Посмотреть версию докера-композера можно командой:

$ docker-compose version
docker-compose version 1.29.2, build unknown
docker-py version: 5.0.0
CPython version: 3.9.16
OpenSSL version: OpenSSL 1.1.1u  30 May 2023

Для того чтобы сконфигурить нашу систему HA, cоздаем папку и заходим в нее:

$ mkdir homeassistant
$ cd homeassistant/
$ pwd
/home/user/homeassistant

Cоздаем конфигурационный файл для первого запуска нашей системы командой vim compose.yml не забываем про медиа директорию.

version: '3'
services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - /home/user/homeassistant:/config
      - /etc/localtime:/etc/localtime:ro
      - /home/user/video:/media
    restart: unless-stopped
    privileged: true
    network_mode: host
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0

Запускаем инстанс докера

$ docker-compose up -d

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

Status: Downloaded newer image for ghcr.io/home-assistant/home-assistant:stable
Creating homeassistant ... done

Теперь мы можем в браузере зайти по нашему IP адресу хоста с указанием порта по умолчанию: http://192.168.9.132:8123

В браузере должно открыться новое окно с приглашением ввести пользователя, пароль для входа в систему Home Assitant и ввести локальные настройки: Страна, Валюта, Местоположение и д.р. Задаем пользователя, пароль и отвечаем на вопросы:

hauser
12345

Если сделали все нормально, то у нас открывается панель Обзор, в меню Настройки мы можем посмотреть версию нашей системы.

Обзор
Обзор
Обзор