Soluzione della community

Immich EAI_AGAIN dopo l’aggiornamento di ZimaOS: correggere il DNS di Docker

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.

Se Immich si arresta dopo un aggiornamento di ZimaOS e il log del server mostra getaddrinfo EAI_AGAIN immich-postgres, il problema immediato è la risoluzione dei nomi tra i container. Questo non dimostra che il volume dei dati PostgreSQL sia danneggiato.

Nel thread originale sulla versione 1.6.1, la ridenominazione dei percorsi di archiviazione aveva compromesso diverse applicazioni, ma MariaDB, Plex e Nextcloud erano tornati operativi dopo la correzione dei percorsi. Immich era diverso: PostgreSQL era operativo, mentre immich-server non riusciva a risolvere il nome host immich-postgres.

Interpreta letteralmente l'errore di Immich

EAI_AGAIN indica un errore temporaneo di risoluzione DNS. Il server stava tentando di raggiungere un host database denominato immich-postgres, mentre il container del database segnalava di essere pronto ad accettare connessioni.

Per questo, il primo livello da controllare è la rete Docker e il rilevamento dei servizi. Non iniziare eliminando il database o ricreando la libreria fotografica.

Verifica che i servizi Immich condividano una rete Compose

La guida al networking di Compose di Docker spiega che i servizi sulla stessa rete Compose possono raggiungersi usando il nome del servizio. Gli indirizzi IP dei container possono cambiare dopo la loro ricreazione, mentre il nome del servizio rimane stabile.

Verifica che immich-server, PostgreSQL e Redis siano collegati alla rete condivisa prevista e che il nome host del database configurato in Immich corrisponda ancora al nome del servizio Compose. Evita di sostituire il nome host con un IP fisso del container come soluzione permanente.

Considera la ridenominazione del volume come una verifica separata della migrazione

L'aggiornamento ha inoltre modificato alcuni nomi di archiviazione sostituendo gli spazi con trattini bassi nell'ambiente dell'utente. La correzione di quei percorsi host era necessaria per altre app, quindi controlla anche ogni montaggio bind di Immich, in particolare i percorsi della libreria, dei caricamenti e del database.

La guida ai percorsi di archiviazione di Immich e la guida alla migrazione dei dati delle app possono aiutarti a distinguere i problemi dei percorsi di archiviazione da quelli di rete.

Ricrea lo stack solo dopo aver eseguito il backup della configurazione

Dopo aver verificato il file Compose e i percorsi, la ricreazione dello stack Immich può ricostruire la rete Docker prevista e le voci DNS. Mantieni il volume del database e i percorsi della libreria Immich; non usare un ripristino distruttivo come test della rete.

In seguito, ZimaOS 1.7.1 ha elencato miglioramenti alla configurazione della rete Docker e alla compatibilità della migrazione delle app nelle sue note di rilascio della versione 1.7.1. Questo è un motivo per aggiornare, ma il changelog non afferma specificamente che sia stato risolto proprio questo caso EAI_AGAIN di Immich.

In sintesi

Quando PostgreSQL è operativo ma Immich segnala EAI_AGAIN immich-postgres, controlla prima il DNS del nome del servizio e le reti Docker condivise. Verifica poi separatamente ogni percorso dei volumi host rinominato durante l'aggiornamento di ZimaOS.