Home Assistant seriál s Jakubem: Díl 2: Zálohování, vzdálený přístup a HTTPS

Úvod

V dnešním díle se podíváme, jak si nastavit vzdálený přístup s protokolem https do našeho Home Assistenta (dále jen HA) a jak si vytvářet pravidelné zálohy na cloud.

Vzdálený přístup

Pro vzdálený přístup využijeme doménu od wedos.com a plugin v HA – Nginx Proxy Manager. V HA se často stává, že jedna věc jde udělat několika způsoby. Jelikož mám již několik let hosting na WEDOSu, byla to pro mě ta nejjednodušší cesta. Pokud se Vám nechce platit, je možno využít např. službu Duck DNS, která zdarma poskytne doménu, ovšem za cenu toho, že nebude přesně podle Vašich představ. Další možností může být např. doména od Google, či jiného poskytovatele, popř. můžete využít Nabu Casa Cloud, což je řešení přímo v HA a poslouží i k hlasovému ovládání, cena se pohybuje okolo 7 € měsíčně. Ve všech těchto případech (kromě vlastní domény) budete mít k dispozici pouze subdoménu, tj. např. v případě Duck DNS a subdomény mujhomeassistent by to bylo https://mujhomeassistent.duckdns.org.

Já mám osobně rád, když je doména podle mých představ, a i proto jsem využil WEDOS.

Jak vidíte, možností je spousta :). Pokud by byl zájem, napište do komentářů jaké řešení by Vás zajímalo a můžeme vymyslet další článek na toto téma.

Pro vzdálený přístup ke svému HA budete dále potřebovat veřejnou IP adresu od svého poskytovatele internetu.

Požadavky

  • nainstalovaný HA z předchozího článku
  • plugin Nginx Proxy Manager
  • vlastní doména či DNS služba
  • veřejná IP adresa

Nastavení subdomény a přesměrování

V případě využití WEDOSu se přihlásíme do klientské sekce a nahoře v menu vybereme:

DNS -> DNS záznamy a vybereme vytvořit nový záznam.


Do názvu vyplníme název subdomény. např. home a do data napíšeme naši veřejnou IP adresu.

HA pak bude dostupný na adrese http://home.mojedomena.cz:8123

Jak sám WEDOS upozorňuje, propsání DNS záznamu může trvat klidně 45 minut, tak se nedivte, pokud se změna nestane hned. V mém případě se změna vždy propsala do 10 minut.

HTTPS

V poslední fázi se přesuneme na zabezpečený http(s) protokol a zbavíme se portu na konci.

V HA vybereme Settings -> Add-ons -> Add-on Store, vyhledáme Nginx Proxy Manager a addon nainstalujeme. Po úspěšné instalaci zaškrtneme Start on Boot a Watchdog a addon spustíme. Po úspěšném spuštění klepneme na Open Web UI.

Nyní by se nám měla otevřít nová webová stránka na portu 81. Pokud se neotevře zkontrolujte v routeru a firewallu, zda je tento port povolen. Pro přihlášení použijte následující údaje:

Email address: admin@example.com
Password: changeme


Údaje doporučuji změnit.

Nyní vytvoříme našeho proxy hosta pro přesměrování naší domény na lokální server.

V menu vybereme Hosts -> Proxy Hosts -> Add Proxy Host


Políčka vyplníme následovně:

Domain Names: název naší subdomény na wedos.com
Scheme: http
Forward Hostname / IP: IP adresa našeho HA serveru
Forward Port: 8123

A jako poslední zaškrtneme Block Common Exploits.

Poté se přesuneme do záložky SSL a vyžádáme si nový certifikát. Zde budeme muset dle poskytovatele domény trochu experimentovat s nastavením Force SSL, HTTP/2 Support apod. Nakonec vyplníme náš email, zaškrtneme souhlas s podmínkami a klikneme na Save.

Nyní se přesuneme do konfiguračního souboru configuration.yaml. V levém menu vybereme File editor, v levém rohu klikneme na ikonku složky (Browse filesystem) a v seznamu najdeme výše uvedený konfigurační soubor a doplníme do něj kód uvedený níže. Jelikož Nginx Proxy Manager běží v docker kontejneru, který má IP z rozsahu 172.30.33.0/24 musíme mu povolit přesměrování a přidat ho mezi důvěryhodné proxy (to jsou řádky 2-4 v kódu). Poslední dva řádky nejsou nutné, ale osobně je považuji za další zabezpečovací krok. Zapneme jimi banování IP adres a určíme si, kolik špatných přihlášení povolíme (v tomto případě 3).

Pokud by se Vám náhodou povedlo zadat 3x špatně heslo, nejsnazší cestou je přihlásit se do našeho HA např. z telefonu a mobilních dat, opět otevřít File editor, najít soubor ip_bans.yaml, smazat IP adresu, kterou jsme zablokovali, uložit soubor a restartovat HA.

Po každé změně musíme minimálně reloadnout náš konfigurační soubor, popř. restartovat HA. Tuto volbu najdeme např. v Developer Tools v levém menu (pokud tuto volbu nevidíme, klikněte na Váš profil na konci menu, najděte položku Advanced mode a povolte ji). Pro jistotu vždy klikám na Check configuration a pokud je vše v pořádku, tak na Restart a Quick Reload nebo Restart Home Assistant.

Tímto bychom měli mít kompletně nastavené přesměrování na náš lokální HA server. Vyzkoušet to můžeme zadáním adresy https://home.mojedomena.cz.

Jedním z důvodů, proč jsem použil Nginx Proxy Manager je i jeho základní ochrana proti exploitům.

Zálohování na Google Drive

Nastavení zálohování je velmi jednoduché. Jediné, co pro to potřebujeme, je funkční Google účet a instalace jednoho addonu. Předpokládám, že Google účet máte, vrhneme se tedy na instalaci addonu.

Klasicky začneme v Settings -> Add-ons, klepneme na tři tečky v pravém horním rohu, vybereme Repositories a přidáme nový repositář https://github.com/sabeechen/hassio-google-drive-backup

Potvrdíme, vyhledáme: Home Assistant Google Drive Backup, addon nainstalujeme a spustíme. Po úspěšném kliknutí vybereme Open WEB UI, projdeme autentifikačním procesem (musíme se přihlásit k našemu Google účtu) a v posledním okně vybereme Send credentials. Pokud nedojde k přesměrování a objeví se nám chyba 401: Unauthorized, vrátíme se o krok zpět a zkopírujeme Authorization string a vrátíme se zpět do WEB UI, kde ho ve spodní části zadáme a potvrdíme.

Krok 1:


Krok 2:

Krok 3:

Krok 4:

Krok 5:

Nyní začne HA uploadovat původní zálohy na Google Disk. V Settings si můžeme upravit nastavení, jak často se budou zálohy provádět a kolik jich chceme zachovat. Já si nechávám 4 poslední zálohy a provádím zálohu každé tři dny. V nastavení je spousta dalších možností, např. si můžeme zálohy ochránit heslem apod.

Závěr

V dnešním díle jsme si zabezpečili náš HA server, přesunuli ho na externí doménu s tím pádem ho můžeme sledovat odkudkoliv na světě a nakonec jsme si vytvořili automatické zálohy, takže pokud se něco stane s naším diskem nebo uděláme nějakou chybu v konfiguraci, vždy máme možnost se vrátit zpět a pohodlně si HA obnovit.

Jelikož se člověk pořád učí, v příštím díle se podíváme na to, proč bychom neměli dlouhodobě provozovat HA na SD kartě a ukážeme si, jak relativně jednoduše přesunout vše, co už jsme nakonfigurovali, na externí SSD disk. Taky změníme engine databáze z SQLite na spolehlivější a rychlejší MariaDB.

Bezpečnosti a zálohám zdar!

Podobné příspěvky

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

3 Komentáře

    1. Mohu se zeptat, kde získám konfigurační okno NGINX?
      „Nyní by se nám měla otevřít nová webová stránka na portu 81. Pokud se neotevře zkontrolujte v routeru a firewallu, zda je tento port povolen. Pro přihlášení použijte následující údaje“
      Mám nainstalován DuckDNS – funkční, NGINX – funkční, ale ke konfiguračnímu oknu se nemohu dostat.
      Na portu 81 nic není…

      Přístup do HA normálně funguje, zvenku i zevnitř, ale v HA se nezobrazuje ingress server (tedy nezobrazuje se Studio Code Server, Terminal ani ESPhome) což mi dost komplikuje život a potřebuji to nějak nastavit.

      Budu vděčný za jakoukoliv radu

      1. Zdravím,
        Studio Code Server, Terminal a ESPHome se Vám neukazuje v levém menu nebo je nevidíte ani v addonech/devices? Pokud pouze v menu, tak např. pro Terminal stačí zakliknout Show in sidebar v Settings -> Addons -> Advanced SSH & Web Terminal.

        Co se týčet NGINXu, tak koukněte do Settings -> Addons -> Nginx Proxy Manager, zda ten proces běží a Configuration zda máte správně nastavené porty (80,81 a 443). Případně kouknout na log, z něj se dost často dá vyčíst kde je problém.