Świeżo zainstalowany Home Assistant odpowiada tylko na połączenia z sieci lokalnej. Bezpieczniej już nie będzie, bo każdy sposób na dostęp z zewnątrz coś w tym zmienia. Dokumentacja opisuje cztery drogi: Home Assistant Cloud, VPN, serwer pośredniczący i zwykłe przekierowanie portów. Różnią się tym, co widać z internetu, ile pracy wymagają na co dzień i czy w ogóle zadziałają na danym łączu.
Najpierw sprawdź łącze
Przekierowanie portów, serwer pośredniczący i własny serwer WireGuard wymagają publicznego adresu IPv4 na routerze. Wielu operatorów już takich nie przydziela. Zamiast tego dzielą jeden adres między wielu klientów (CG-NAT) albo dają łącze w technologii DS-Lite, a wtedy żaden przekierowany port nie będzie dostępny z zewnątrz.
Porównaj adres WAN ze strony stanu routera z adresem, który pokazuje dowolna strona typu „jaki mam IP”. Jeśli się różnią albo router ma adres z puli 100.64.0.0/10 (RFC 6598 zarezerwował ją właśnie dla CG-NAT), jesteś za NAT-em operatora. Dokumentacja aplikacji towarzyszącej zostawia wtedy dwie możliwości: poprosić operatora o publiczny adres albo wykupić Home Assistant Cloud. Zadziała też sieć VPN typu Tailscale, bo oba końce same nawiązują połączenia wychodzące, a gdy bezpośrednie połączenie się nie uda, Tailscale przekazuje ruch przez swoje serwery.
Sprawdź też port. Od wersji 2026.8 Home Assistant OS domyślnie nasłuchuje na porcie 80, a Home Assistant Container nadal na 8123. Port, którego używa konkretna instalacja, znajdziesz w menu Ustawienia > System > Sieć (Settings > System > Network).
Sposób 1: Home Assistant Cloud
Home Assistant Cloud to płatna usługa firmy Nabu Casa. Według dokumentacji to najprostsza i najbezpieczniejsza droga dla większości użytkowników. Nie otwierasz żadnych portów, nie potrzebujesz własnej domeny ani certyfikatu, a abonament finansuje rozwój Home Assistanta.
Nabu Casa nie widzi przy tym przesyłanych danych. Po włączeniu dostępu zdalnego Home Assistant sam zamawia w Let's Encrypt certyfikat dla swojego adresu, a klucz prywatny zostaje wyłącznie u ciebie. Domowa instalacja utrzymuje połączenie wychodzące z serwerem pośredniczącym Nabu Casa. Ten serwer rozpoznaje cel po nazwie, którą przeglądarka podaje przy nawiązywaniu połączenia TLS, i przekazuje dalej zaszyfrowane dane. Odszyfrowuje je dopiero Home Assistant w domu. Jest też druga strona medalu, o której piszą strony pomocy Nabu Casa: jeśli stracisz ten klucz i własny dostęp do systemu, firma go nie odtworzy.
- Wejdź w Ustawienia > Home Assistant Cloud i zaloguj się. Zaraz po pierwszym logowaniu może się pokazać komunikat, że dostęp zdalny jest przygotowywany. Odczekaj kilka minut i odśwież stronę.
- W sekcji „Dostęp zdalny” („Remote access”) włącz przełącznik. Za pierwszym razem wygenerowanie certyfikatu może potrwać do 60 sekund.
- Zapisz adres, który się tam pojawi. Pod nim znajdziesz Home Assistanta, gdy będziesz poza domem.
- Jeśli chcesz, zaznacz „Zezwól na zewnętrzną aktywację zdalnego dostępu” („Allow external activation of remote access”). Wtedy włączysz dostęp zdalny ze strony konta Nabu Casa, nawet jeśli wychodząc z domu, zostawiłeś go wyłączony.
Integracja chmury ma też dwie akcje do automatyzacji: cloud.remote_connect i cloud.remote_disconnect. Możesz na przykład włączać dostęp zdalny dopiero wtedy, gdy wszyscy wyjdą z domu.
Pamiętaj, że adres zdalny otworzy każdy, kto go zna. Zobaczy tylko ekran logowania, ale ten ekran jest publiczny, więc zabezpieczenie kont opisane niżej jest tu równie ważne jak przy serwerze pośredniczącym.
Sposób 2: VPN
Przy VPN nic w domu nie odpowiada obcym. Do Home Assistanta dostaną się tylko urządzenia podłączone do sieci VPN. Ceną jest klient VPN w każdym telefonie i laptopie. Dokumentacja wspomina też o skutku ubocznym: jeśli aplikacja towarzysząca w telefonie nie ma połączenia przez VPN, jej czujniki przestają się aktualizować w Home Assistancie.
Tailscale
W Home Assistant OS najwygodniej postawić Tailscale, bo społeczność przygotowała do niego aplikację. Według jej dokumentacji Tailscale jest bezpłatny do użytku prywatnego i hobbystycznego, do 100 urządzeń na jednym koncie.
- Zainstaluj aplikację „Tailscale” z menu Ustawienia > Aplikacje (
Settings > Apps) i uruchom ją. - Otwórz jej interfejs WWW i zaloguj się, żeby powiązać Home Assistanta z kontem Tailscale. Dokumentacja radzi zrobić to w Chrome na komputerze, bo w niektórych przeglądarkach ten krok się nie udaje.
- Zajrzyj do logów aplikacji i sprawdź, czy połączenie się udało.
- Zainstaluj Tailscale w telefonie i laptopie, zaloguj się na to samo konto i otwórz Home Assistanta pod jego adresem w sieci Tailscale.
- W panelu administracyjnym Tailscale wyłącz wygasanie klucza dla Home Assistanta, jak zaleca dokumentacja aplikacji. Inaczej po wygaśnięciu klucza stracisz połączenie.
Urządzenia próbują łączyć się bezpośrednio. Gdy nie pozwala na to NAT albo zapora, ruch idzie przez serwery przekaźnikowe DERP. Dokumentacja Tailscale zapewnia, że taki ruch nadal jest szyfrowany przez WireGuard, a klucze prywatne nie opuszczają urządzeń, więc serwery przekaźnikowe nie mogą go odczytać.
Przeglądarka może ostrzegać przed nieszyfrowanym adresem http://, bo nie wie, że ruch i tak idzie zaszyfrowanym tunelem. Rozwiązuje to opcja share_homeassistant w aplikacji. Udostępnia ona Home Assistanta przez Tailscale Serve z ważnym certyfikatem HTTPS w obrębie sieci Tailscale. Trzeba do tego włączyć MagicDNS i certyfikaty HTTPS w panelu administracyjnym Tailscale, a w Home Assistancie w menu Ustawienia > System > Sieć > Serwer HTTP włączyć „Ufaj X-Forwarded-For” („Trust X-Forwarded-For”) i dopisać 127.0.0.1 do pola „Zaufane proxy” („Trusted proxies”).
Ta sama opcja potrafi zamiast tego włączyć Tailscale Funnel. Funnel publikuje Home Assistanta w całym internecie przez serwery Tailscale, więc to już nie jest prywatna sieć VPN. Adres z Funnel traktuj jak każdy inny publiczny adres.
WireGuard na Home Assistancie
Aplikacja społeczności WireGuard uruchamia serwer WireGuard na Home Assistancie, a telefon i laptop łączą się z nim jako klienci. Tu publiczny adres jest konieczny. W opcji host wpisz nazwę, która wskazuje na domowe łącze (na przykład z DuckDNS), i przekieruj na routerze port UDP 51820 do Home Assistanta. Sieci VPN nadaj inną pulę adresów niż sieci domowej. Aplikacja tworzy dla każdego klienta konfigurację i kod QR w /ssl/wireguard/<nazwa klienta>/qrcode.png, który skanujesz aplikacją WireGuard w telefonie. Za CG-NAT ten sposób odpada.
Sposób 3: serwer pośredniczący albo przekierowanie portów z TLS
Ta droga daje własną domenę bez żadnego pośrednika. Za to ekran logowania Home Assistanta trafia prosto do internetu, a jego bezpieczeństwo jest wyłącznie na twojej głowie.
Nigdy nie przekierowuj zwykłego portu HTTP. Dokumentacja mówi wprost, że samo otwarcie portu nie jest bezpieczne. Potrzebujesz domeny i certyfikatu TLS:
- Aplikacja DuckDNS pilnuje, żeby darmowa nazwa w DuckDNS wskazywała na aktualny, zmienny adres IP łącza, i pobiera certyfikat Let's Encrypt z weryfikacją przez DNS, więc do weryfikacji nie musisz otwierać portu 80. Darmowe konto DuckDNS obejmuje najwyżej pięć subdomen.
- Serwer pośredniczący, na przykład NGINX, Caddy, Traefik albo HAProxy, przyjmuje połączenia HTTPS i przekazuje je do Home Assistanta, który w sieci domowej działa po zwykłym HTTP.
Od wersji 2026.8 ustawienia serwera HTTP są w interfejsie: Ustawienia > System > Sieć > Serwer HTTP (Settings > System > Network > HTTP server). Stary blok http: z pliku configuration.yaml zostaje zaimportowany przy pierwszym uruchomieniu po aktualizacji, a zgłoszenie w sekcji Naprawy (Repairs) przypomina, żeby go usunąć. Jeśli Home Assistant stoi za serwerem pośredniczącym, włącz „Ufaj X-Forwarded-For” i dopisz adres tego serwera do pola „Zaufane proxy”. Jeśli podajesz całą sieć, wpisz adres sieci (192.168.1.0/24), a nie adres pojedynczego urządzenia z maską (192.168.1.50/24). Bez tych ustawień Home Assistant blokuje zapytania od serwera pośredniczącego.
Zapisanie ustawień HTTP uruchamia Home Assistanta ponownie, a administrator ma 5 minut na potwierdzenie zmian. Jeśli nikt ich nie potwierdzi, wracają poprzednie. Przydaje się to, gdy błędna wartość odetnie cię od systemu. Na koniec wpisz publiczny adres w polu „Internet” w sekcji „Adres URL Home Assistanta” („Home Assistant URL”) w menu Ustawienia > System > Sieć.
Jeśli publiczny adres nie otwiera się z sieci domowej, router prawdopodobnie nie obsługuje zapętlenia NAT, czyli połączeń z sieci lokalnej na własny adres publiczny. Dokumentacja aplikacji towarzyszącej proponuje wtedy lokalny serwer DNS, na przykład aplikację AdGuard Home, który dla tej domeny zwraca wewnętrzny adres Home Assistanta.
Zanim cokolwiek otworzysz, zabezpiecz konta
Jeśli nie korzystasz z prywatnego VPN, ekran logowania jest osiągalny z internetu. Dlatego najpierw:
- Mocne, niepowtarzalne hasła i uwierzytelnianie wieloskładnikowe. W profilu użytkownika, w zakładce „Bezpieczeństwo” (
Security), w sekcji „Moduły uwierzytelniania wieloskładnikowego” włącz moduł aplikacji uwierzytelniającej i zeskanuj kod QR. Jeśliconfiguration.yamlnie ma sekcjiauth_mfa_modules, ten moduł ładuje się sam. Kody zależą od czasu, więc gdy ciągle są odrzucane, sprawdź zegar Home Assistanta. - Uprawnienia administratora tylko dla tych, którzy ich potrzebują.
- Konta tylko do użytku w domu. Dla konta, które ma działać wyłącznie w sieci lokalnej, na przykład tabletu na ścianie, włącz w ustawieniach użytkownika w menu Ustawienia > Osoby opcję „Możliwość logowania tylko z sieci lokalnej” („Can only log in from the local network”). Sprawdź ją z telefonu przez sieć komórkową, zwłaszcza za serwerem pośredniczącym.
- Blokowanie adresów IP. W ustawieniach serwera HTTP zaznacz opcję „Włącz blokowanie IP” i ustaw „Liczba prób logowania przed zablokowaniem” (od 1 do 1000). Zablokowane adresy trafiają do pliku
ip_bans.yamlw katalogu konfiguracji i nigdy nie wygasają same. Żeby zdjąć blokadę, usuń wpis i uruchom Home Assistanta ponownie. Przy Home Assistant Cloud blokada obejmuje prawdziwy adres klienta i nie dotyka innych połączeń przez chmurę. - Tokeny. W tej samej zakładce „Bezpieczeństwo” jest lista tokenów, po jednym na każde urządzenie, na którym się logowałeś. Jeśli zgubisz telefon, usuń jego token.
- Wyzwalacze typu „Webhook”. Przyjmują zapytania tylko z sieci lokalnej (oraz przez chmurę Nabu Casa), dopóki nie wyłączysz opcji
local_only. Do wywołania wystarczy sam identyfikator, bez logowania, więc traktuj go jak hasło. Dokumentacja odradza też używanie takich wyzwalaczy do zamków i bram garażowych. - Katalog
www. Pliki z/config/www/, dostępne pod adresem/local/, otwierają się bez logowania. Nie trzymaj tam niczego prywatnego. - Aktualizacje. Nowe wydanie Home Assistanta ukazuje się co miesiąc, a lista kontrolna bezpieczeństwa w dokumentacji każe instalować kolejne wydania.
Aplikacja towarzysząca
Aplikacja potrafi przełączać adresy w zależności od tego, gdzie jesteś. Wpisz w niej adres wewnętrzny (na przykład http://homeassistant.local:8123, a w nowszych instalacjach Home Assistant OS bez numeru portu) i zewnętrzny. Żeby rozpoznać, że jesteś w domu, aplikacja odczytuje nazwę sieci Wi-Fi, a Android i iOS pozwalają na to tylko wtedy, gdy aplikacja ma stały dostęp do lokalizacji („Allow all the time” albo „Always”). Przy Home Assistant Cloud zamiast adresu zewnętrznego wystarczy zaznaczyć połączenie przez chmurę („Connect via Cloud”). Jeśli masz jedną publiczną nazwę i lokalny DNS opisany wyżej, ten sam adres działa wszędzie.
Co wybrać
- Home Assistant Cloud, jeśli aplikacja towarzysząca ma działać wszędzie, a ty nie chcesz niczego utrzymywać. Działa też za CG-NAT.
- Tailscale, jeśli nic w domu nie powinno być osiągalne z internetu, a na swoich urządzeniach możesz zainstalować klienta. Też radzi sobie z CG-NAT.
- WireGuard na Home Assistancie, jeśli masz publiczny adres IP i nie chcesz zależeć od zewnętrznej usługi koordynującej.
- Serwer pośredniczący tylko wtedy, gdy już go masz albo zależy ci na własnej domenie i jesteś gotów regularnie aktualizować serwer, certyfikaty i Home Assistanta.
Gdy coś nie działa
- Adres zdalny nie działa nawet przez sieć komórkową. Sprawdź, czy nie jesteś za CG-NAT i czy przekierowany port zgadza się z tym w menu Ustawienia > System > Sieć.
- Zapytania przez serwer pośredniczący są odrzucane. Opcja „Ufaj X-Forwarded-For” jest wyłączona albo jego adresu brakuje w polu „Zaufane proxy”.
- Zablokowałeś sam siebie. Usuń swój adres z
ip_bans.yamli uruchom Home Assistanta ponownie. - Kody z aplikacji uwierzytelniającej są odrzucane. Zegar Home Assistanta chodzi źle.
- Tailscale po jakimś czasie przestał działać. Sprawdź, czy klucz urządzenia nie wygasł. Jeśli tak, zaloguj się ponownie i wyłącz wygasanie klucza dla Home Assistanta.
- Poza domem aplikacja towarzysząca nie aktualizuje czujników. Przy VPN tunel w telefonie jest wyłączony.