Найти в Дзене
Руки не для скуки

Домашний сервер - это просто. Часть 6: Home Assistant Supervised

Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.


Если вы не являетесь обладателем «умного дома» и не хотите устанавливать Home Assistant - этот раздел можно смело пропустить.

6.1. Установка зависимостей и Docker

Добавляем в исключения UFW порт 8123/tcpнеобходимый для работы Home Assistant:

ufw allow 8123/tcp

Обновляем систему:

apt update && apt upgrade -y


Ставим зависимости

apt install apparmor jq wget curl udisks2 libglib2.0-bin network-manager dbus lsb-release systemd-journal-remote systemd-resolved -y


Перезапускаем службу systemd-resolved выполняющую разрешение сетевых имён для локальных приложений:

systemctl restart systemd-resolved


Устанавливаем Docker:

curl -fsSL get.docker.com | sh

После завершения лучше перезапустить сервер:

reboot

6.2. Установка home-assistant os-agent

На [странице OS Agent] смотрим номер последней версии и вставляем его в команды ниже (в примере указана версия 1.6.0). Скачиваем и устанавливаем:

wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_x86_64.deb
dpkg -i os-agent_1.6.0_linux_x86_64.deb

6.3. Установка Home Assistant Supervised

Скачиваем и устанавливаем последнюю версию

sudo wget -O homeassistant-supervised.deb https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

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

sudo apt install ./homeassistant-supervised.deb -y

На этом шаге может появиться предупреждение:

"файл «/root/homeassistant-supervised.deb» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)

Установка завершается успешно, предупреждение можно игнорировать

Время установки обычно в пределах 5 минут, но может занять и больше. Вы можете проверить ход настройки Home Assistant, подключившись к IP-адресу вашего сервера в любом браузере через порт 8123 (http://192.168.2.11:8123). Какое-то время браузер будет показывать пустой экран или ошибку, после чего появится сообщение об установке Home Assistant.

Как только вы увидели экран входа в систему - установка завершена.

-2

6.4. Создание файла конфигурации виртуального хоста

Создаем файл конфигурации ha.475cloud.conf:

Напоминаю, что домен 475cloud.ru - это мой тестовый домен. Везде где в именах файлов вы его видите - меняйте на свое доменное имя.

nano /etc/apache2/sites-available/ha.475cloud.conf


Добавляем в него:

<VirtualHost *:80>
ServerName ha.475cloud.ru
ServerAlias www.ha.475cloud.ru
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:443>
ServerName ha.475cloud.ru
ServerAlias www.ha.475cloud.ru

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
</IfModule>

#Websocket proxy
ProxyPass /api/websocket ws://127.0.0.1:8123/api/websocket
ProxyPassReverse /api/websocket ws://127.0.0.1:8123/api/websocket
ProxyPass / http://127.0.0.1:8123/
ProxyPassReverse / http://127.0.0.1:8123/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:8123/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://127.0.0.1:8123/$1 [P,L]
</VirtualHost>

Меняем ServerName и ServerAlias в четырех строках на свой и сохраняем (Ctrl +O).

Включаем сайт (в /etc/apache2/sites-enabled создается ссылка на файл конфигурации виртуального хоста):

a2ensite ha.475cloud.conf

Перезапускаем Apache:

systemctl restart apache2

Если после перезапуска Apache выводится сообщение об ошибке 4.3 части 4 этой серии статей.

6.5. Установка сертификата Let’s Encrypt

Устанавливаем SSL-сертификат:

certbot --apache -d ha.475cloud.ru -d www.ha.475cloud.ru

Перезапускаем Apache:

systemctl restart apache2

После перезапуска Apache можно получить доступ к Home Assistant, используя web-адрес:

6.6. Изменение конфигурационного файла Home assistant

Вносим изменения в конфигурацию Home Assistant:

nano /usr/share/hassio/homeassistant/configuration.yaml

Добавляем в конце файла:

#HTTP
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1


И сохраняем (Ctrl +O).

Обратите внимание: пред 3-й и 4-й и 5-й строчками должен быть пробел!!! Редактор Дзена пробелы в начале строки убивает.

Иначе в браузере получите:

-3

а в Home Assistant при прямом подключении увидите:

-4

Теперь можно получить доступ к Home Assistant, используя web-адрес:

https://ha.475cloud.ru

-5

Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.