Home Assistant herstellen na een mislukte containerupdate

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Een mislukte update van een Home Assistant-container moet doorgaans worden gezien als een probleem met het vervangen van de runtime, niet als een reden om een nieuwe installatie te maken. Als de door de host gekoppelde map /config intact is, bestaat de veiligste herstelroute uit het behouden van die status, het controleren van de volumetoewijzing, het starten van een bekende goede image en het testen van de bestaande installatie voordat je een oudere back-up terugzet.

De gevaarlijke stap is een nieuwe container te laten starten met het verkeerde of lege hostpad. Home Assistant kan dan de onboarding tonen alsof de configuratie verdwenen is, terwijl de oorspronkelijke status nog ergens anders op de schijf staat. Bevries wijzigingen eerst, bepaal welke configuratiemap de bron van waarheid is en verwijder de oude container of map niet voordat de herstelde instantie is geslaagd voor de tests.

Stop nieuwe schrijfbewerkingen en vind het echte pad naar /config

Stop de mislukte container en inspecteer de runtime-definitie waarmee deze is gemaakt. Controleer welke hostmap of welk benoemd volume aan /config is gekoppeld en inspecteer die locatie op je YAML-bestanden, .storage, aangepaste componenten, geheimen en database.

In een herstelgeval uit de community na een Docker-upgrade bleek dat een “gloednieuwe” Home Assistant-instantie feitelijk werd veroorzaakt doordat de container naar de verkeerde configuratiemap verwees. De permanente gegevens waren niet gewist; de vervangende runtime koppelde ze simpelweg niet correct.

Maak een kopie of snapshot van de huidige configuratiemap voordat je eigenaarschap, paden of databasebestanden wijzigt. Zelfs een gedeeltelijk defecte status is waardevol bewijsmateriaal en kan nieuwere automatiseringen of inloggegevens bevatten dan de laatste back-up.

Maak de runtime opnieuw zonder de installatie opnieuw te maken

Gebruik dezelfde netwerkmodus, tijdzone, apparaattoewijzingen, USB-radiotoegang, privileges of mogelijkheden en dezelfde hostkoppeling van /config als de werkende container vóór de update gebruikte. De image kan worden vervangen; juist deze runtime-invoer en de permanente gegevens bepalen of de service terugkeert als dezelfde Home Assistant-instantie.

Persistentie van containers is afhankelijk van de hostkoppeling, niet van het bestandssysteem van de container. Een voorbeeld van een Home Assistant-container koppelt een permanent hostvolume rechtstreeks aan /config, waardoor het opnieuw maken van de runtime de configuratie van het huishouden niet opnieuw maakt. Als die koppeling tijdens een update verandert, kan een vervangende container nieuw lijken terwijl de oorspronkelijke status nog ergens anders aanwezig is.

Kopieer het oude bestandssysteem van de container niet naar de nieuwe image. Maak de deployment opnieuw op basis van een gedocumenteerde Compose- of run-definitie en koppel de permanente status expliciet opnieuw.

Rol de image terug voordat je oudere status herstelt

Als de configuratiekoppeling correct is, maar de nieuwe Home Assistant-versie niet start of een kritieke integratie defect maakt, test je de vorige bekende goede image met dezelfde behouden /config. Zo maak je onderscheid tussen “de nieuwe runtime is niet compatibel met de huidige status” en “de status zelf is beschadigd”.

De huidige werkwijze voor Home Assistant Container scheidt de image expliciet van de permanente status: maak eerst een back-up, haal de doelimage op, maak de container opnieuw en gebruik een specifieke oudere imagetag wanneer een downgrade nodig is. Dat is de herstelgrens die je moet behouden: vervang de runtime, maar houd het configuratiepad dat de bron van waarheid is intact.

Houd er bij het terugrollen rekening mee dat sommige upgrades datastructuren migreren. Gebruik een back-up die vóór een migratie is gemaakt als de oudere versie de status die al door de nieuwere versie is bijgewerkt niet veilig kan lezen. Wissel niet herhaaldelijk tussen versies met slechts één kopie van de permanente gegevens.

Herstel alleen een back-up als de huidige status niet betrouwbaar is

Gebruik een back-up wanneer de permanente configuratie ontbreekt, beschadigd of gedeeltelijk overschreven is, of niet langer compatibel is met de versie die je veilig kunt uitvoeren. Herstel indien mogelijk naar een geïsoleerd of schoon doel, zodat je de herstelde status kunt vergelijken met de beschadigde kopie.

Bewaar het versleutelingswachtwoord of de noodkit die nodig is om de back-up te openen buiten de defecte host. Een back-up die alleen op dezelfde schijf staat of niet kan worden ontsleuteld, biedt geen herstelmogelijkheid.

Het ZimaSpace-voorbeeld van het scheiden van Home Assistant-herstel van de opslaghost zelf benadrukt dezelfde regel: toepassingsstatus heeft een onafhankelijk herstelpad nodig, niet alleen een gespiegelde actieve schijf.

Valideer de herstelde container voordat je iets verwijdert

  • Controleer of de verwachte gebruikers, dashboards, integraties, automatiseringen, helpers en ruimtes aanwezig zijn.
  • Controleer één lokaal apparaatpad en één pad op basis van radio als Zigbee, Z-Wave of Bluetooth wordt gebruikt.
  • Controleer Recorder op database- of migratiefouten.
  • Start de herstelde container opnieuw en bevestig dat dezelfde status terugkeert.
  • Bewaar de oude imagetag, de kopie van de configuratie en de laatst bekende goede back-up totdat deze tweede opstart is geslaagd.

Als de oude image met de oorspronkelijke configuratie werkt, was de mislukte update voornamelijk een runtime- of versieprobleem. Als elke image met dezelfde status faalt, ga je over op configuratieherstel of het terugzetten van een back-up. Als een schone container alleen met een lege /config werkt, accepteer de nieuwe installatie dan niet als “opgelost” totdat je begrijpt welk onderdeel van de permanente status het herstel verhindert.

Veelgestelde vragen

Moet ik de mislukte Home Assistant-container verwijderen voordat ik problemen ga oplossen?

Nee. Stop de container eerst en bewaar de runtime-definitie en het gekoppelde configuratiepad. Je kunt een vervangende container maken zonder de mislukte te verwijderen. Zo blijft informatie voor het terugrollen beschikbaar terwijl je de nieuwe runtime test.

Waarom toont Home Assistant onboarding na een update?

De meest voorkomende containerspecifieke reden is dat de vervangende runtime het oorspronkelijke pad naar /config niet ziet. Controleer de hostkoppeling voordat je ervan uitgaat dat de configuratie is gewist of een oudere back-up over recentere gegevens heen terugzet.

Ondersteuning & Tips

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.