Часть 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.
Как только вы увидели экран входа в систему - установка завершена.
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-й строчками должен быть пробел!!! Редактор Дзена пробелы в начале строки убивает.
Иначе в браузере получите:
а в Home Assistant при прямом подключении увидите:
Теперь можно получить доступ к Home Assistant, используя web-адрес:
Часть 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: Переезд на новое железо.