Communityoplossing

Immich EAI_AGAIN na ZimaOS-upgrade: Docker-DNS repareren

After upgrading to ZimaOS 1.6.1, a user corrected renamed host volumes but Immich still failed with EAI_AGAIN while trying to resolve the immich-postgres service hostname.

Als Immich na een ZimaOS-upgrade stopt en het serverlog getaddrinfo EAI_AGAIN immich-postgres vermeldt, ligt de directe oorzaak bij de naamresolutie tussen containers. Dit wijst er niet op dat het PostgreSQL-gegevensvolume zelf beschadigd is.

In de oorspronkelijke thread over versie 1.6.1 zorgden hernoemde opslagpaden ervoor dat verschillende toepassingen niet meer werkten, maar MariaDB, Plex en Nextcloud herstelden nadat hun paden waren gecorrigeerd. Bij Immich was de situatie anders: PostgreSQL werkte correct, terwijl immich-server de hostnaam immich-postgres niet kon resolven.

Lees de Immich-fout letterlijk

EAI_AGAIN is een tijdelijke fout bij DNS-resolutie. De server probeerde verbinding te maken met een databasehost met de naam immich-postgres, terwijl de databasecontainer zelf meldde dat deze klaar was om verbindingen te accepteren.

Daarom zijn Docker-netwerken en servicedetectie de eerste controlepunten. Begin niet met het verwijderen van de database of het opnieuw aanmaken van de fotobibliotheek.

Controleer of de Immich-services een Compose-netwerk delen

De netwerkgids voor Compose van Docker legt uit dat services op hetzelfde Compose-netwerk elkaar via de servicenaam kunnen bereiken. IP-adressen van containers kunnen na het opnieuw aanmaken veranderen, terwijl de servicenaam stabiel blijft.

Controleer of immich-server, PostgreSQL en Redis zijn verbonden met het bedoelde gedeelde netwerk en of de databasehostnaam in Immich nog steeds overeenkomt met de servicenaam in Compose. Vervang de hostnaam niet permanent door een vast container-IP-adres.

Behandel het hernoemen van volumes als een afzonderlijke migratiecontrole

De upgrade wijzigde in de omgeving van deze gebruiker ook enkele opslagnamen door spaties te vervangen door underscores. Het corrigeren van deze hostpaden was noodzakelijk voor andere apps, dus controleer ook alle bind mounts van Immich, met name de paden voor de bibliotheek, uploads en database.

De gids voor Immich-opslagpaden en de gids voor de migratie van appgegevens kunnen helpen om opslagpadproblemen te onderscheiden van netwerkproblemen.

Maak de stack pas opnieuw aan nadat je een back-up van de configuratie hebt gemaakt

Als je het Compose-bestand en de paden hebt gecontroleerd, kan het opnieuw aanmaken van de Immich-stack het bedoelde Docker-netwerk en de DNS-vermeldingen opnieuw opbouwen. Behoud het databasevolume en de bibliotheekpaden van Immich; gebruik geen destructieve reset als netwerktest.

In de release notes van ZimaOS 1.7.1 werden later verbeteringen aan de Docker-netwerkconfiguratie en compatibiliteit met appmigraties vermeld. Dat is een reden om te updaten, maar in de changelog wordt niet specifiek beweerd dat precies dit Immich-geval met EAI_AGAIN is opgelost.

Conclusie

Als PostgreSQL correct werkt, maar Immich EAI_AGAIN immich-postgres meldt, controleer dan eerst de DNS-resolutie van servicenamen en de gedeelde Docker-netwerken. Controleer daarna afzonderlijk elk hernoemd hostvolume-pad dat door de ZimaOS-upgrade is geïntroduceerd.