Sto riscontrando un errore durante l’aggiornamento della mia istanza con ./launcher rebuild app su Ubuntu 22.04. Per quanto posso capire, i problemi iniziano qui:
Ci sono alcuni avvisi “_ has unmet peer dependency” sopra, ma questo è il primo errore (a parte “_ already exists” durante la configurazione del DB, ma capisco che sia un comportamento atteso).
Sfortunatamente, l’aggiornamento in cui è iniziato questo problema è avvenuto il giorno prima che partissi per un viaggio in famiglia, quindi ero un po’ di fretta e non ho avuto tempo di risolvere il problema al momento. Ma lo riscontro in modo coerente. L’host è completamente aggiornato e non ricordo di aver fatto nulla di particolarmente unico con la configurazione. Ho spostato /var/discourse su un volume separato di Digital Ocean circa 3 mesi fa (che so essere Sconsigliato™ per motivi di prestazioni, ma per un forum con centinaia di utenti, ho pensato che ne valesse la pena) ma ha funzionato bene dopo quella modifica per quanto ne so.
Per fare ciò, devo entrare nel container. L’ho fatto e, quando avvio il container in seguito, l’interfaccia web mostra
Oops
Il software che alimenta questo forum di discussione ha riscontrato un problema imprevisto. Ci scusiamo per l'inconveniente.
Informazioni dettagliate sull'errore sono state registrate e una notifica automatica generata. Ci daremo un'occhiata.
Non è necessaria alcuna ulteriore azione. Tuttavia, se la condizione di errore persiste, è possibile fornire ulteriori dettagli, inclusi i passaggi per riprodurre l'errore, pubblicando un argomento di discussione nella categoria di feedback del sito.
./launcher logs app restituisce
[Mer 19 lug 2023 23:52:05 UTC] Domini non modificati.
[Mer 19 lug 2023 23:52:05 UTC] Salta, prossima ora di rinnovo è: 2023-08-21T00:34:21Z
[Mer 19 lug 2023 23:52:05 UTC] Aggiungi '--force' per forzare il rinnovo.
[Mer 19 lug 2023 23:52:05 UTC] Installazione chiave in: /shared/ssl/distroleaders.club_ecc.key
[Mer 19 lug 2023 23:52:05 UTC] Installazione catena completa in: /shared/ssl/distroleaders.club_ecc.cer
[Mer 19 lug 2023 23:52:05 UTC] Esegui comando di ricaricamento: sv reload nginx
fallimento: nginx: runsv non in esecuzione
[Mer 19 lug 2023 23:52:05 UTC] Errore di ricaricamento per:
Avviato runsvdir, PID è 530
ok: run: redis: (pid 544) 0s
ok: run: postgres: (pid 543) 0s
supervisor pid: 538 unicorn pid: 575
Se entro nuovamente nel container, posso eseguire con successo sv reload nginx, ma ciò non cambia il comportamento.
Inoltre, se rieseguo ./launcher rebuild app, devo rientrare nel container per eseguire nuovamente bundle install.
Non che io ricordi (a meno che @mattdm non ne abbia inseriti di nascosto mentre non guardavo ). Anche discourse-doctor dice “Nessun plugin non ufficiale rilevato”.
fatal: not a git repository (or any parent up to mount point /var)
La tua directory /var/discourse non è un repository git, il che interrompe il nostro aggiornamento automatico del launcher e gli strumenti che utilizziamo per avviare Discourse, il che a sua volta significa che sei bloccato in una vecchia immagine docker.
Devi annullare le modifiche che hai apportato per interrompere questo processo.
Quando hai copiato i file nel tuo volume, non hai copiato .git, quindi dovrai clonarlo e copiarci dentro le altre cose.
Probabilmente dovresti fare in modo che il tuo volume contenga solo gli upload, che presumo sia ciò che occupa la maggior parte dello spazio, e quindi puoi avere solo gli upload e i backup sul volume.
Oh mio Dio. Scommetto di poter indovinare esattamente cosa ho fatto e coinvolge il fatto che * non corrisponde a .git in un comando rsync. Non sarebbe la prima volta che ho usato rsync per rendermi la vita più difficile. Grazie per averlo notato!
C’è una ragione tecnica per cui la ricostruzione non può uscire a quel punto? Avrebbe reso la risoluzione dei problemi più facile (anche se iniziare dall’alto invece che dal basso lo avrebbe fatto).
Fortunatamente, ho ancora il tarball pre-migrazione perché non ho perso tutte le mie capacità di sysadmin nel corso degli anni.
Questo è sul più piccolo droplet di Digital Ocean, quindi è principalmente il sistema che occupa spazio. Upload e backup insieme sono circa 100 MB. Penso che probabilmente finirò per fare, se apporto una modifica, è passare a un droplet più grande che ha più spazio su disco.