Ciao a tutti!
Stavo cercando di aggiornare il forum di discourse utilizzando il link pubblicato nel pannello di amministrazione e ho ricevuto questo errore. L’intero forum è sparito. Cosa dovrei fare ora per resettare l’aggiornamento? Grazie mille se qualcuno potesse aiutarmi.
Ho provato a eseguire ./launcher rebuild app e ho ricevuto i seguenti messaggi di errore:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development' è fallito con ritorno #<Process::Status: pid 340 exit 5>
Posizione del fallimento: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec è fallito con i parametri {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'"]}
6e9e60bd6b6113cdcb001127fd2a24fe86f2a1658bf24500e5e2b720fd793510
** FALLITO IL BOOTSTRAP ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.
e scorrendo verso l’alto ho trovato alcuni possibili log di errore:
1)200:M 25 Jun 2023 16:00:16.252 # Impossibile ascoltare sulla porta 6379 (TCP), interruzione.
2)[DEPRECATED] Il flag `--deployment` è deprecato perché si basa sul fatto di essere ricordato tra le invocazioni di bundler, cosa che bundler non farà più nelle versioni future. Utilizzare invece `bundle config set --local deployment 'true'` e smettere di utilizzare questo flag.
[DEPRECATED] Il flag `--without` è deprecato perché si basa sul fatto di essere ricordato tra le invocazioni di bundler, cosa che bundler non farà più nelle versioni future. Utilizzare invece `bundle config set --local without 'test development'` e smettere di utilizzare questo flag.
3)Bundler::PathError: Il percorso `/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/sprockets-f4d3dae71ef2` non esiste.
4)Bundler::InstallError: sass-embedded-1.63.6-x86_64-linux richiede la versione di rubygems >= 3.3.22, che è incompatibile con la versione corrente, 3.2.18
Grazie mille per la tua risposta, ma immagino che non sia lo stesso problema, il mio server è in Germania. Sto usando l’immagine Docker di Discourse per il mio server. Cosa devo fare se ./launcher rebuild app non funziona?
Ho letto i documenti dell’ultimo programmatore per me e dice che molte cose sul web girano dietro nginx e anche discourse deve essere ospitato dietro nginx. L’installazione standard non funziona per la mia situazione.
e questo è come ha detto nel documento e come ha fatto:
Discourse gira in un container docker. Tuttavia, richiede un tipo speciale di configurazione, non tramite un file docker-compose.yml o un file .conf.
Il repository github discourse-project/ che richiede di configurare e costruire l’immagine docker si trova qui. Ignora il bel e succoso programma “discourse-setup” che forniscono, non funzionerà qui. Dobbiamo configurare l’app da soli.
clona discourse_docker in /var/discourse: git clone https://github.com/discourse/discourse_docker.git /var/discourse
vai nella cartella e usa una configurazione di esempio fornita: cd /var/discourse && cp samples/standalone.yml containers/app.yml
quindi modifica il file containers/app.yml (ad esempio con sudo nano)
Sono state apportate modifiche alla sezione hosting, alle impostazioni smtp per la posta e - importante - alla sezione expose in modo che solo una porta inutilizzata venga esposta all’esterno
Per eseguire discourse su un percorso come “/forum” sono state necessarie ulteriori modifiche come descritto qui
Si verificano anche alcuni problemi con l’autenticazione via email:
La posta che invia le email è qui “email del server”. Tuttavia, Discourse si aspetta che l’email abbia lo stesso dominio del suo host, ovvero “email del server”
Grazie per la tua risposta! La versione da cui sto aggiornando è la 2.8.0.beta6 e l’ultimo aggiornamento è stato il 28.09.2021.
Dopo aver eseguito cat /etc/issue ho ottenuto: Debian GNU/Linux 9 \\n \\l
E queste sono le informazioni secondo ./discourse-doctor
==================== INFORMAZIONI MEMORIA ====================
RAM (MB): 4050
totale usata libera condivisa buff/cache disponibile
Mem: 3955 427 1152 63 2375 3182
Swap: 0 0 0
==================== CONTROLLO SPAZIO SU DISCO ====================
---------- Spazio su disco del sistema operativo ----------
Filesystem Dimensione Usata Disponibile Uso% Montato su
/dev/sda1 63G 27G 34G 45% /
==================== INFORMAZIONI DISCO ====================
Disco /dev/sda: 64 GiB, 68719476736 byte, 134217728 settori
Unità: settori di 1 * 512 = 512 byte
Dimensione settore (logica/fisica): 512 byte / 512 byte
Dimensione I/O (minima/ottimale): 512 byte / 512 byte
Tipo di etichetta disco: dos
Identificativo disco: 0xc0b6220c
Device Boot Inizio Fine Settori Dimensione Id Tipo
/dev/sda1 2048 134217727 134215680 64G 83 Linux
Devi davvero spostare tutto su una nuova VM con un sistema operativo supportato. Quindi dovrai anche aggiornare qualsiasi altra cosa tu abbia in esecuzione.
Ciao Jammy, dopo vari tentativi di installazione falliti, ho scoperto che la causa è il limite di memoria del server e la rete. Ti suggerisco di utilizzare un server con 4 GB di RAM e un accesso normale a GitHub e Ruby.
Questo errore mi infastidisce: lo vedi ancora? Il container Docker dovrebbe ora eseguire la versione 3.2.0.
Ma se il tuo /var/discourse non è una directory git, è stato fatto qualcosa di diverso dalle istruzioni. Impedisce un aggiornamento e causa l’incompatibilità della versione ruby. Per me:
/var/discourse# git status
On branch main
Your branch is up to date with 'origin/main'.
Vediamo anche una directory .git:
# ls -a /var/discourse/
. .github README.md cids discourse-setup launcher scripts tests
.. .gitignore bin containers image rebuild.log shared
.git LICENSE c discourse-doctor index.html samples templates
Modifica: ma è vero, se ti trovi su un sistema operativo troppo vecchio, hai del lavoro da fare, per installare discourse su un nuovo sistema operativo e recuperare il tuo backup, e anche per fare tutte le cose extra che potrebbero essere necessarie per la tua situazione specifica.
Se il tuo server sta facendo più cose oltre a eseguire discourse, questa è una complicazione aggiuntiva. Potresti aver bisogno di competenze locali.
Grazie ragazzi per l’aiuto, proverò i vostri suggerimenti uno per uno per risolvere il problema. Se ci saranno feedback (positivi o negativi), li posterò nuovamente nel forum. Grazie ancora!
Ho installato correttamente la nuova versione di Discourse. Ho seguito le istruzioni nel documento sopra e ha funzionato per me. Ma ora ho problemi a ripristinare dal backup.
Ho provato Ripristinare un backup dalla riga di comando ma ho ottenuto quanto segue:
root@my_server:/var/www/discourse# discourse restore my_server-2023-06-20-033008-v20210922064213.tar.gz
Starting restore: my_server-2023-06-20-033008-v20210922064213.tar.gz
[STARTED]
'system' has started the restore!
Marking restore as running...
Making sure /var/www/discourse/tmp/restores/default/2023-06-29-113408 exists...
Copying archive to tmp directory...
Unzipping archive, this may take a while...
EXCEPTION: /var/www/discourse/lib/discourse.rb:137:in `exec': Failed to decompress archive.
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
/var/www/discourse/lib/discourse.rb:171:in `execute_command'
/var/www/discourse/lib/discourse.rb:137:in `exec'
/var/www/discourse/lib/discourse.rb:33:in `execute_command'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:78:in `decompress_archive'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:23:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:42:in `run'
script/discourse:149:in `restore'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/base.rb:485:in `start'
script/discourse:290:in `<top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:492:in `exec'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:34:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:28:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:45:in `block in <top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:33:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Trying to rollback...
There was no need to rollback
Cleaning stuff up...
Removing tmp '/var/www/discourse/tmp/restores/default/2023-06-29-113408' directory...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.