Sto cercando di aggiornare un’installazione molto vecchia.
Ho iniziato con questo:
cd /var/discourse
sudo git pull
sudo ./launcher rebuild app
Poi ho ricevuto un errore e scorrendo il file di log l’unico errore è questo:
ERROR: Errore durante l’installazione di bundler:
bundler-2.5.3 richiede la versione di Ruby >= 3.0.0. La versione corrente di ruby è 2.7.2.137.
Come posso ottenere una nuova installazione di Ruby? Il sistema è stato originariamente installato da un’immagine Docker su Digital Ocean e non è stato aggiornato molto, se non affatto, per diversi anni.
È in esecuzione su Ubuntu 18.04.
Ho eseguito ./discourse-doctor
e c’era uno stato di “detached head” e poi la ricostruzione e poi lo stesso errore di Ruby.
Ora sono completamente perso.
Qualsiasi aiuto su come far funzionare un aggiornamento da una versione antica?
Data l’età della macchina host, la cosa migliore da fare qui è probabilmente fare un backup del sito, creare un nuovo server, eseguire l’installazione, quindi ripristinare il backup sul nuovo server.
Sarà meno lavoro (e molto più facile) rispetto all’aggiornamento del server esistente.
Ma dato che l’installazione è fallita non riesco a far partire discourse per fare un backup. Posso e ho fatto uno snapshot del droplet di Digital Ocean ma non è proprio un backup per come lo capisco io.
Se hai uno snapshot del droplet con tutti i tuoi dati prima di tentare di aggiornare il container, dovresti essere in grado di recuperare un backup da quello.
In caso contrario, stai quasi certamente ancora bene, ma hai bisogno di qualcuno esperto nel processo per poter estrarre i dati da esso se non riesci a ripristinare il container.
Al momento, anche con il bad gateway, se riesci ad accedere al container dovresti essere in grado di eseguire un discourse backup e recuperare i tuoi dati.