Sto eseguendo un’istanza self-hosted di Discourse su https://forum.embeetle.com.
Ieri, l’aggiornamento del browser con un clic è fallito, quindi ho effettuato l’accesso al server e ho provato ./launcher rebuild app.
Anche questo è fallito, con il seguente errore:
I, [2024-08-01T20:46:09.837292 #1] INFO -- :
I, [2024-08-01T20:46:09.837631 #1] INFO -- :
> cd /var/www/discourse & su discourse -c 'yarn install --frozen-lockfile & yarn cache clean'
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
error Error: https://registry.yarnpkg.com/date-fns/-/date-fns-3.6.0.tgz: ESOCKETTIMEDOUT
at ClientRequest.<anonymous> (/usr/share/yarn/lib/cli.js:142037:19)
at Object.onceWrapper (node:events:631:28)
at ClientRequest.emit (node:events:517:28)
at TLSSocket.emitRequestTimeout (node:_http_client:847:9)
at Object.onceWrapper (node:events:631:28)
at TLSSocket.emit (node:events:529:35)
at Socket._onTimeout (node:net:598:8)
at listOnTimeout (node:internal/timers:569:17)
at process.processTimers (node:internal/timers:512:7)
Dopo questo, il comando sembra bloccarsi (non succede nulla per almeno 10 minuti), quindi l’ho interrotto e ho riprovato. Stesso risultato.
Non ci sono problemi di rete: dall’interno del container Docker (./launcher enter app), l’esecuzione di wget https://registry.yarnpkg.com/date-fns/-/date-fns-3.6.0.tgz restituisce correttamente in meno di 0,1 secondi.
Ho controllato questo problema simile: Error during the update ESOCKETTIMEDOUT registry.yarnpkg.com - #4 by jericson Il suggerimento lì è di aumentare il timeout modificando /var/discourse/templates/web.template.yml.
Sfortunatamente, quel percorso non esiste nella mia installazione (dall’interno del container Docker, non c’è /var/discourse; c’è una cartella var/www/discourse che è la directory di lavoro predefinita quando si entra nell’app, ma quella non ha una sottocartella templates; ho cercato web.template.yml ma non sono riuscito a trovarlo da nessuna parte.
Inoltre, non sono molto convinto che aumentare il timeout risolverebbe il problema, data la velocità di download di https://registry.yarnpkg.com/date-fns/-/date-fns-3.6.0.tgz.
Alla fine ho ripristinato un backup di qualche giorno fa, con una versione precedente di Discourse, e ho copiato la versione più recente di discourse/shared al suo interno. Questo funziona, quindi il forum è di nuovo attivo e funzionante.
C’è qualcosa che non va nell’ultima versione sul branch principale? Ho effettivamente provato a eseguire di nuovo ./launcher rebuild app, e fallisce di nuovo nello stesso modo, quindi ho dovuto ripristinare il forum dal backup.