Home AssistantНалаштування

Налаштовуємо Nginx Proxy Manager в Home Assistant

Цю статтю я вирішив написати після виходу оновлення Home Assistant 2022.12.4. Насправді, з виходом версії з номером 2022.12.5, проблему не було вирішено. А моя проблема полягала в тому, що я не зміг отримати доступ до свого серверу з мережі Інтернет за його доменною адресою. При цьому, всередині домашньої локальної мережі HA працював абсолютно без проблем, при цьому навіть мав змогу отримати доступ “на зовні” і оновитися.

В чому ж була причина такої поведінки мережі. Зазвичай, після оновлення, Home Assistant отримує багатший функціонал, починає працювати з пристроями багатьох вендорів, виправляються деякі помилки в роботі. Але іноді буває, під час роботи над помилками можна наробити нових ;), і щось перестане працювати. Так сталося і в моєму випадку з аддоном “Caddy Proxy” – він почав працювати неправильно. Частково в цьому є і моя провина – аддон не є офіційним і вже досить тривалий час не оновлювався до актуальної версії. До речі, про нього я писав в ось цій статті – Отримуємо SSL сертифікат для Home Assistant. Отже, настав час видалити Caddy, а замість нього встановити і налаштувати Nginx Proxy Manager!

Нагадаю: і Caddy, і Nginx Proxy Manager – це, так звані, зворотні проксі-сервери. У випадку з Home Assistant, він дозволить вам не турбуватись про безпечне з’єднання, адже NPM буде тримати сертифікати Let’s Encrypt в актуальному стані, і, за необхідності, самостійно їх оновлювати.

Інсталяція MariaDB

Для своєї роботи Nginx Proxy Manager потребує наявності бази даних, саме тому необхідно встановити аддон MariaDB.

Перейдіть на сторінку “Settings > Add-ons”

HA-Add-ons

Натисніть на кнопку Add-on Store” в правому нижньому куті сторінки.

Add-on Store btn

 

Open your Home Assistant instance and show the Supervisor add-on store.  В розділі “Official add-ons” натисніть на “MariaDB”. Потім натисніть “Install”

HA-Install-MariaDB

Дозвольте запуск аддона при завантаженні системи “Start on boot” та увімкніть “Watchdog”. Потім, не натискаючи “Start”, перейдіть до вкладки “Configuration”.

Start on boot-Watchdog

Встановіть пароль для бази даних. За замовчуванням там буде встановлено значення «null» і при запуску аддона він буде скаржиться, що ви не встановили пароль перед її запуском. Налаштуйте username і password, а потім натисніть “Save”.

HA-MariaDB password
Тепер ви можете повернутися до вкладки «Info» та натиснути «Start». Ви повинні побачити, що аддон працює, як показано на скріншоті.

HA-MariaDB-Start

Встановлюємо Nginx Proxy Manager

Щоб інсталювати Nginx Proxy Manager, потрібно перейти на сторінку «Settings> Add-ons».

HA-Add-ons

Натисніть на кнопку “Add-on Store” в правому нижньому куті сторінки.

Add-on Store btn

 

Open your Home Assistant instance and show the Supervisor add-on store. У розділі «Home Assistant Community Add-ons» натисніть «Nginx Proxy Manager». Далі натисніть “Install”, щоб встановити Nginx Proxy Manager.

Nginx Proxy Manager Install

Увімкніть параметри «Start on boot» та «Watchdog» і натисніть «Start». Ви повинні побачити, що аддон працює, як показано на скріншоті.

HA-Nginx-Start

Налаштування вашого екземпляра Nginx Proxy Manager

Перейдіть на сторінку Nginx Proxy Manager. Це буде IP вашого Home Assistant на порту 81. Наприклад: http://192.168.10.245:81. Ви повинні побачити сторінку входу. Введіть облікові дані за умовчанням це адреси електронної пошти admin@example.com і пароль changeme.

login HA Nginx

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

Натисніть розділ «Hosts», щоб додати ваш власний проксі-хост.

HA-Nginx-Hosts

Введіть своє повне доменне ім’я Home Assistant. У моєму прикладі, я використовую hassio.myhome.com. Це доменне ім’я має бути справжнім доменним іменем, яке ви використовуватимете для доступу до Home Assistant. Це має бути справжнє доменне ім’я, оскільки для нього ви створюватимете сертифікат “Let’s Encrypt”. Також вкажіть IP або ім’я сервера в локальній мережі.

HA-Nginx New proxy host detail

Тепер перейдіть на вкладку «SSL», щоб створити новий сертифікат. Виберіть опцію «Request a new SSL Certificate». Якщо ви ввімкнете опцію «Примусово SSL», порт 80 (HTTP) буде перенаправлено на 433 (HTTPS). Опція «HTTP/2» увімкне функції HTTP для підвищення продуктивності. Якщо вам потрібна додаткова безпека, ви можете ввімкнути «HSTS», але будьте обережні з цим параметром, якщо у вас є інші веб служби. Вам потрібно буде вказати справжній обліковий запис електронної пошти та натиснути кнопку «Я згоден» перед збереженням.

Система має бути підключена до Інтернету, щоб згенерувати стандартний сертифікат через HTTP.

HA-Nginx New proxy host SSL

Відредагуйте Configuration.yaml.

Навіть якщо зворотний проксі налаштовано належним чином, підключення до HTTPS не вдасться, доки configuration.yaml файл не буде налаштовано, щоб дозволити зворотний проксі. Оскільки Home Assistant і всі його доповнення працюють у Docker, контейнери використовуватимуть IP-адреси в діапазоні 172.16.0.0/12. Ви можете побачити поточну IP-адресу, яку використовує Nginx Proxy Manager, у системних журналах. Ви зіткнетеся з помилкою веб-браузера «Неправильний запит» із кодом статусу 400 .

Позаяк IP-адреси контейнерів Docker можуть змінюватися під час перезапуску контейнера або перезавантаження Home Assistant, ви можете просто вказати діапазон IP-адрес, який використовує Docker.

Виберіть файл configuration.yaml, щоб відредагувати його. Додайте таку конфігурацію в файлі, як показано на знімку екрана.

HA configuration.yaml

Збережіть налаштування і перезавантажте Home Assistant.

Безпечне з’єднання з Home Assistant

Якщо все було вірно налаштовано, єдине, що залишиться зробити – це набрати доменне ім’я в браузері, яке ви налаштували. Наприклад, https://hassio.myhome.com. Щоб отримати доступ до Home Assistant вам доведеться залогінитись знову, навіть якщо ви входили через незахищене HTTP зʼєднання.

One thought on “Налаштовуємо Nginx Proxy Manager в Home Assistant

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *