Nieudanej aktualizacji kontenera Home Assistant zwykle należy szukać przyczyny w problemie z wymianą środowiska uruchomieniowego, a nie traktować jej jako powodu do tworzenia nowej instalacji. Jeśli zamontowany na hoście katalog /config jest nienaruszony, najbezpieczniejsza ścieżka odzyskiwania obejmuje zachowanie tego stanu, sprawdzenie mapowania woluminu, uruchomienie sprawdzonego obrazu i przetestowanie istniejącej instalacji przed przywróceniem starszej kopii zapasowej.
Niebezpiecznym posunięciem jest uruchomienie nowego kontenera z nieprawidłową lub pustą ścieżką na hoście. Home Assistant może wtedy wyświetlić konfigurację początkową, jakby konfiguracja zniknęła, podczas gdy jej oryginalny stan nadal znajduje się w innym miejscu na dysku. Najpierw wstrzymaj zmiany, ustal właściwy katalog konfiguracji i nie usuwaj starego kontenera ani katalogu, dopóki odzyskana instancja nie przejdzie testów.
Wstrzymaj nowe zapisy i znajdź właściwą ścieżkę /config
Zatrzymaj uszkodzony kontener i sprawdź definicję środowiska uruchomieniowego, która go utworzyła. Potwierdź, który katalog na hoście lub nazwany wolumin jest mapowany do /config, a następnie sprawdź tę lokalizację pod kątem plików YAML, katalogu .storage, niestandardowych komponentów, sekretów i bazy danych.
W jednym z przypadków odzyskiwania opisanych przez społeczność po aktualizacji Dockera okazało się, że „zupełnie nowa” instancja Home Assistant była w rzeczywistości skutkiem wskazania przez kontener niewłaściwego folderu konfiguracji. Dane trwałe nie zostały usunięte — zastępcze środowisko uruchomieniowe po prostu nie montowało ich prawidłowo.
Przed zmianą właściciela, ścieżek lub plików bazy danych skopiuj bieżący katalog konfiguracji albo utwórz jego migawkę. Nawet częściowo uszkodzony stan jest cennym źródłem informacji i może zawierać nowsze automatyzacje lub dane uwierzytelniające niż ostatnia kopia zapasowa.
Odtwórz środowisko uruchomieniowe bez odtwarzania instalacji
Użyj tego samego trybu sieci, strefy czasowej, mapowań urządzeń, dostępu do radiowego interfejsu USB, uprawnień lub możliwości oraz montowania katalogu /config z hosta, których używał wcześniej działający kontener. Obraz można wymienić — to właśnie te parametry środowiska uruchomieniowego i dane trwałe decydują o tym, czy usługa powróci jako ta sama instancja Home Assistant.
Trwałość danych kontenera zależy od montowania na hoście, a nie od systemu plików kontenera. Przykład Home Assistant Container montuje trwały wolumin hosta bezpośrednio w /config, dlatego odtworzenie środowiska uruchomieniowego nie odtwarza konfiguracji domu. Jeśli podczas aktualizacji zmieni się to mapowanie, zastępczy kontener może wyglądać jak świeża instalacja, mimo że oryginalny stan nadal znajduje się w innym miejscu.
Nie kopiuj systemu plików starego kontenera do nowego obrazu. Odtwórz wdrożenie na podstawie udokumentowanej definicji Compose lub polecenia uruchomieniowego i jawnie ponownie podłącz dane trwałe.
Najpierw wycofaj obraz, a dopiero potem przywracaj starszy stan
Jeśli montowanie konfiguracji jest prawidłowe, ale nowa wersja Home Assistant nie uruchamia się lub powoduje awarię krytycznej integracji, przetestuj poprzedni sprawdzony obraz z użyciem tego samego zachowanego /config. Pozwoli to odróżnić sytuację, w której „nowe środowisko uruchomieniowe jest niezgodne z bieżącym stanem”, od sytuacji, w której „sam stan jest uszkodzony”.
Obecny sposób pracy z Home Assistant Container wyraźnie oddziela obraz od danych trwałych: najpierw wykonaj kopię zapasową, pobierz docelowy obraz, odtwórz kontener i użyj konkretnego starszego tagu obrazu, jeśli wymagane jest obniżenie wersji. To właśnie granica odzyskiwania, którą należy zachować: wymień środowisko uruchomieniowe, pozostawiając właściwą ścieżkę konfiguracji bez zmian.
Podczas wycofywania wersji pamiętaj, że niektóre aktualizacje migrują struktury danych. Użyj kopii zapasowej wykonanej przed migracją, jeśli starsza wersja nie potrafi bezpiecznie odczytać stanu zaktualizowanego przez nowszą wersję. Nie przełączaj wielokrotnie wersji, korzystając z jedynej kopii danych trwałych.
Przywróć kopię zapasową tylko wtedy, gdy bieżącemu stanowi nie można ufać
Użyj kopii zapasowej, gdy trwała konfiguracja zaginęła, jest uszkodzona, częściowo nadpisana lub nie jest już zgodna z wersją, którą można bezpiecznie uruchomić. Jeśli to możliwe, przywróć ją do odizolowanego lub czystego środowiska docelowego, aby porównać odzyskany stan z uszkodzoną kopią.
Hasło szyfrujące lub zestaw awaryjny potrzebny do otwarcia kopii zapasowej przechowuj poza uszkodzonym hostem. Kopia zapasowa istniejąca wyłącznie na tym samym dysku lub niemożliwa do odszyfrowania nie zapewnia możliwości odzyskania.
Przykład ZimaSpace dotyczący oddzielenia odzyskiwania Home Assistant od samego hosta pamięci masowej potwierdza tę samą zasadę: stan aplikacji musi mieć niezależną ścieżkę przywracania, a nie tylko kopię lustrzaną działającego dysku.
Zweryfikuj odzyskany kontener przed usunięciem czegokolwiek
- Potwierdź obecność oczekiwanych użytkowników, pulpitów, integracji, automatyzacji, pomocników i obszarów.
- Sprawdź jedną lokalną ścieżkę urządzenia oraz jedną ścieżkę opartą na komunikacji radiowej, jeśli używasz Zigbee, Z-Wave lub Bluetooth.
- Sprawdź bazę danych Rejestratora pod kątem błędów bazy danych lub migracji.
- Uruchom ponownie odzyskany kontener i potwierdź, że powraca ten sam stan.
- Zachowaj stary tag obrazu, kopię konfiguracji i ostatnią sprawdzoną kopię zapasową do czasu pomyślnego zakończenia tego drugiego uruchomienia.
Jeśli stary obraz działa z oryginalną konfiguracją, nieudana aktualizacja była przede wszystkim problemem środowiska uruchomieniowego lub wersji. Jeśli żaden obraz nie działa z tym samym stanem, przejdź do naprawy konfiguracji lub przywracania kopii zapasowej. Jeśli czysty kontener działa tylko z pustym /config, nie uznawaj świeżej konfiguracji za „naprawę”, dopóki nie zrozumiesz, co w danych trwałych uniemożliwia odzyskanie.
FAQ
Czy przed rozpoczęciem rozwiązywania problemu należy usunąć uszkodzony kontener Home Assistant?
Nie. Najpierw go zatrzymaj i zachowaj jego definicję środowiska uruchomieniowego oraz zamontowaną ścieżkę konfiguracji. Możesz utworzyć zastępczy kontener bez usuwania uszkodzonego, dzięki czemu informacje potrzebne do wycofania zmian pozostaną dostępne do czasu sprawdzenia nowego środowiska.
Dlaczego po aktualizacji Home Assistant wyświetla konfigurację początkową?
Najczęstszą przyczyną charakterystyczną dla kontenerów jest to, że zastępcze środowisko uruchomieniowe nie widzi oryginalnej ścieżki /config. Sprawdź montowanie na hoście, zanim uznasz, że konfiguracja została usunięta lub przywrócisz starszą kopię zapasową na nowszy stan.
Wsparcie i wskazówki
Więcej do przeczytania

Czy podczas tworzenia kopii zapasowej Home Assistant Live należy zatrzymać usługę?
Wbudowane kopie zapasowe Home Assistant mogą działać na żywo; zwykłe kopie systemu plików powinny zatrzymać Home Assistant lub wstrzymać jego działanie, chyba że baza...

Dlaczego serwer Home Assistant nagrzewa się lub hałasuje w czasie bezczynności?
Zanim zmienisz ustawienia chłodzenia lub limity procesora, skoreluj skoki obciążenia wentylatora lub temperatury w Home Assistant z działaniem Rejestratora, kopiami zapasowymi, integracjami i współdzielonymi...

Kiedy lepiej zbudować Home Assistant od nowa zamiast go naprawiać?
Najpierw napraw najmniejszą uszkodzoną warstwę Home Assistant, następnie przywróć znany dobry stan, a odbudowę wykonuj tylko wtedy, gdy nie można ufać trwałej konfiguracji.

