Non sto assolutamente cercando di dare la colpa a nessuno. La cosa sfortunata con l’auto-hosting, più nello specifico, non è necessariamente capire il sistema operativo del server. La maggior parte delle persone installa un sistema operativo e generalmente lo mantiene aggiornato. Ma spesso con LTS (Long Term Support) potrebbero non sapere o capire come aggiornare il sistema operativo, specialmente se sono abituati alle rolling release (rilasci continui).
Ad esempio, una società che aiuto, dopo non aver eseguito aggiornamenti per un po’, ha notato che era disponibile un aggiornamento. Quindi hanno aggiornato Docker tramite l’interfaccia utente web, il che ha permesso loro di aggiornare Discourse.
A causa del fatto che Ubuntu LTS non era abbastanza recente, l’aggiornamento di Docker non soddisfaceva il requisito minimo. Tuttavia, l’interfaccia utente web ha comunque consentito il tentativo di aggiornamento, che ovviamente è fallito e ha fatto cadere il sito.
Quindi hanno tentato una ricostruzione da riga di comando, che ovviamente è fallita a causa dei requisiti minimi non soddisfatti.
Se l’aggiornamento nel web avesse identificato che la versione di Docker non era la minima richiesta, avrebbe potuto interrompere il processo di aggiornamento notificando una dipendenza non soddisfatta, senza che il sito cadesse.
Ho dato un’occhiata generale per loro, poiché sembra che possano essere in esecuzione altre cose sul server. Ho dato loro istruzioni di far controllare ai loro tecnici l’aggiornamento della LTS a una versione più recente, poiché non volevo provare ad aggiornare il sistema operativo nel caso in cui ciò interrompesse altre cose che stanno eseguendo.
Esiste un modo semplice per riavviare il container prima del tentativo di ricostruzione web e da riga di comando?
Ho provato ./launcher start app
Che è fallito.
L’altra cosa. Dato che il sito di Discourse è andato giù, può funzionare l’avvio di un nuovo server con rsync? Stanno eseguendo la versione stabile invece della versione testata raccomandata.
Se eseguono il ‘do-release-upgrade’ e aggiornano manualmente Docker, sarebbe efficace per aggiornare postgreq?