Bei einer wiederherstellbaren Home-Assistant-Container-Installation gilt das Container-Image als austauschbar; der Zustand, die Konfiguration, die Geheimnisse, die Gerätezuordnungen, das Netzwerkverhalten und das Wiederherstellungsverfahren bilden das eigentliche System.
Es geht nicht nur darum, Docker Home Assistant neu starten zu lassen. Ziel ist es, den Dienst nach einem fehlgeschlagenen Update, einem Festplattenverlust oder dem Austausch des Hosts auf einem sauberen Host neu aufzubauen und innerhalb einer festgelegten Zeit dieselben Benutzer, Integrationen, Automatisierungen, Funkgeräte, Datenbankzustände und Netzwerkidentität wiederherzustellen.
Persistenten Zustand außerhalb des Container-Images halten
Binden Sie das vollständige Home-Assistant-Konfigurationsverzeichnis in persistenten Host-Speicher ein und sichern Sie alles darin, einschließlich versteckter Verzeichnisse. Bei Community-Migrationen kommt es immer wieder zu Fehlern, wenn Betreiber sichtbare YAML-Dateien kopieren, aber .storage übersehen, wo UI-verwaltete Entitäten, Integrationen und andere Zustände gespeichert sind. Ein Fehler bei der Container-Migration zeigt, wie Shell-Globmuster diese Punktdateien unbemerkt auslassen können.
Halten Sie die Compose-Datei, die Vorlage für Umgebungsvariablen, die Zeitzone, den Netzwerkmodus, die Gerätezuordnungen, die Bind-Mount-Pfade und alle erforderlichen Gruppenberechtigungen in versionierten Infrastrukturhinweisen fest. Packen Sie keine individuellen Haushaltsdaten in ein benutzerdefiniertes Image, es sei denn, Sie verfügen auch über einen reproduzierbaren Build und eine separate Wiederherstellungskopie.
Die vollständige Home-Assistant-Servertopologie von ZimaSpace zeigt das umfassendere Muster: Halten Sie den Steuerungspfad klein, trennen Sie den persistenten Zustand vom Massenspeicher und legen Sie die Wiederherstellung außerhalb der aktiven Fehlerdomäne ab, bevor Sie weitere Dienstabhängigkeiten hinzufügen.
Zustand konsistent sichern, nicht nur häufig
Eine Sicherung ist nur dann nützlich, wenn ihre Dateien einen konsistenten Zeitpunkt widerspiegeln. Bei einer einfachen lokalen SQLite-Installation lässt sich eine Konfiguration, bei der der Dienst während eines Wartungsfensters gestoppt und das persistente Volume kopiert wird, leicht nachvollziehen. Bei einer externen Datenbank sollte die Datenbank mit einer konsistenten Methode gesichert und vermerkt werden, zu welcher Home-Assistant-Konfigurationssicherung sie gehört.
Ein aktueller Workflow zur Sicherung von Docker-Volumes betont, dass die Kopie wiederhergestellt werden sollte, statt davon auszugehen, dass ein erfolgreicher Archivierungsvorgang gleichbedeutend mit Wiederherstellbarkeit ist. Bewahren Sie mindestens eine Generation außerhalb des Docker-Hosts auf, damit ein ausgefallener SSD-Datenträger, ein Dateisystemfehler oder ein versehentliches Bereinigen nicht sowohl den Dienst als auch die Sicherung entfernen kann.
Erfassen Sie das Alter der Sicherung, die Anwendungsversion, die Datenbankversion, die Größe, die Prüfsumme, den Speicherort des Verschlüsselungsschlüssels und die Schritte zur Wiederherstellung auf einem sauberen Host. Eine Aufbewahrungsrichtlinie ohne Wiederherstellungsmetadaten ergibt einen Haufen Archive statt eines Wiederherstellungssystems.
Abhängigkeiten und Bereitschaft in Compose modellieren
Wenn Home Assistant von MQTT, einer externen Datenbank, einem Proxy oder einem anderen lokalen Dienst abhängt, ist die Startreihenfolge der Container nicht dasselbe wie die Dienstbereitschaft. Ein Prozess kann laufen, während sein Socket, Schema oder Health-Endpunkt noch nicht verfügbar ist. Ein Leitfaden zur Compose-Bereitschaft zeigt, wie Zustandsprüfungen und Abhängigkeitsbedingungen Startprobleme verringern.
Geben Sie jeder Abhängigkeit ein eigenes Gesundheitssignal und ein eigenes Verhalten im Fehlerfall. Home Assistant sollte es erneut versuchen, wenn eine Datenbank gerade startet. Eine wiederholt fehlerhafte Datenbank sollte jedoch als Störung erkennbar sein und nicht durch endlose Neustarts verborgen werden. Verwenden Sie Neustartrichtlinien, um sich von Prozessabbrüchen zu erholen, und verwenden Sie Zustandsprüfungen und Überwachung, um festzustellen, ob der Dienst tatsächlich bereit ist.
Halten Sie optionale Dienste nach Möglichkeit außerhalb der kritischen Startkette. Ein defekter Dashboard-Renderer, ein Medientool oder ein Metrikexporter sollte den Automatisierungscontroller nicht offline halten.
Änderungsgrenzen festlegen und ein Rollback-Paar aufbewahren
Erfassen Sie vor einem Update das aktuelle Home-Assistant-Image-Tag, die Compose-Definition, die Datenbankversion, die Konfigurationssicherung und alle Versionen von Zusatzdiensten, die am Startvorgang beteiligt sind. Ändern Sie immer nur eine Ebene auf einmal. Wenn ein Update fehlschlägt, kann es unsicher sein, nur das Container-Image zurückzusetzen, nachdem Konfigurations- oder Datenbankmigrationen den persistenten Zustand verändert haben.
Verwenden Sie eine Wiederherstellung in einer Staging-Umgebung oder ein geklontes Wiederherstellungsverzeichnis, um die Zielversion vor einer größeren Host- oder Datenbankmigration zu testen. Bewahren Sie das vorherige, nachweislich funktionierende Image und den unmittelbar vor dem Update erstellten Zustands-Snapshot als Paar auf. Löschen Sie dieses Paar erst, wenn die neue Version Automatisierungen, Verlauf, Funkgeräte, Dashboards, Benachrichtigungen und einen Neustarttest besteht.
Ein aktuellerer Artikel zum Home Assistant Docker Compose-Design behandelt Netzwerke, persistenten Speicher und Sicherungen als ausdrückliche Entscheidungen bei der Bereitstellung. Das ist das richtige Modell für ein Rollback: Bewahren Sie den Zustand und die Bereitstellungsdefinition auf, die ein Ersatzcontainer benötigt, nicht das vergängliche Container-Dateisystem selbst.
Stellen Sie die Bereitstellung auf einem sauberen Host wieder her, bevor Sie sie als wiederherstellbar bezeichnen
Wählen Sie einen Ersatzrechner, eine VM oder ein isoliertes Testverzeichnis und führen Sie die Wiederherstellung durch, ohne Dateien aus dem Dateisystem des laufenden Containers zu lesen. Installieren Sie die Container-Laufzeitumgebung, legen Sie die Compose-Definition ab, stellen Sie den persistenten Zustand wieder her, erstellen Sie Geheimnisse neu, schließen Sie Funkgeräte über stabile Gerätepfade an, starten Sie die erforderlichen Abhängigkeiten und starten Sie Home Assistant.
Überprüfen Sie Dateieigentümer und Berechtigungen, bevor Sie von einer fehlerhaften Sicherung ausgehen. Berechtigungsunterschiede nach der Migration können einen neuen Einrichtungsbildschirm verursachen, obwohl die Daten vorhanden sind. Ein Fall zur Wiederherstellung nach einer Docker-Migration zeigt, wie Berechtigungen und verborgener Zustand unabhängig voneinander verhindern können, dass die wiederhergestellte Installation angezeigt wird.
- Melden Sie sich mit dem vorhandenen Administratorkonto an.
- Überprüfen Sie Integrationen, Entitäten, Automatisierungen, Dashboards und den Verlauf.
- Prüfen Sie die Zuständigkeit für Zigbee, Z-Wave, Thread, Bluetooth oder andere Funkprotokolle.
- Trennen Sie die Internetverbindung und führen Sie eine wichtige lokale Automatisierung aus.
- Starten Sie den Host und alle erforderlichen Abhängigkeiten neu.
- Messen Sie die gesamte Wiederherstellungszeit vom leeren Host bis zur funktionierenden Steuerung im Haushalt.
Verwenden Sie für jede containerisierte Abhängigkeit einen Wiederherstellungsvertrag
| Komponente | Persistentes Objekt | Wiederherstellungsnachweis |
|---|---|---|
| Home Assistant | Vollständiger /config-Zustand |
Vorhandenes Konto und Automatisierungen werden wiederhergestellt |
| Datenbank | Konsistente Datenbanksicherung | Verlaufsabfragen und Recorder-Schreibvorgänge funktionieren |
| MQTT/Broker | Konfiguration, Zugangsdaten, beibehaltener Zustand, falls erforderlich | Geräte verbinden sich erneut und veröffentlichen Daten |
| Funkgeräte | Geräteidentität, Netzwerkschlüssel, Zuordnung | Koordinator verbindet sich ohne erneutes Pairing |
| Netzwerk/Proxy | Ports, Namen, Zertifikate, Routen | Lokale und vorgesehene Remote-Clients verbinden sich erneut |
Eine wiederherstellbare Bereitstellung hat eine versionierte Definition, einen extern gespeicherten Zustand, bereite Abhängigkeiten, ein Rollback-Paar und eine zeitlich erfasste Wiederherstellung auf einem sauberen Host. Sobald diese Tests bestanden sind, sind Container das, was sie sein sollen: austauschbare Laufzeiteinheiten statt unersetzlicher Haustiere.
NAS- und Servereinrichtung
Mehr zum Lesen

Kann ein Server im Studentenwohnheim leise genug laufen, damit man schlafen, lernen und Videotelefonate führen kann?
Ja – ein Server im Wohnheim kann unauffällig bleiben, wenn die Hardware einen geringen Stromverbrauch hat, Speichervibrationen kontrolliert werden, rechenintensive Aufgaben geplant laufen und...

Ein Studenten-Homelab, das vom Wohnheimzimmer in die erste eigene Wohnung mitzieht
Halte dein Studenten-Homelab mobil, indem du Dienste von der zimmergebundenen Netzwerkinfrastruktur trennst, die Hardware auf ein Minimum reduzierst, den Zustand sicherst und einen reibungslosen...

So teilst du einen Heimserver mit Mitbewohnern, ohne Konten oder private Dateien gemeinsam zu nutzen
Gib jedem Mitbewohner eine eigene Identität mit Namen, privaten Speicherplatz und nur den gemeinsamen Rollen, die er benötigt; trenne Verwaltung, Backups und das Entfernen...



