Non ho modificato consapevolmente nulla, ma oggi, dopo aver semplicemente eseguito git pull e provato ad avviare web_only.yml, ricevo errori, dopo circa 90 secondi dall’avvio del processo di bootstrap. Sto incollando solo le ultime righe dell’errore, se possono aiutare a diagnosticare:
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:348:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:511:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment
(See full trace by running task with --trace)
I, [2022-12-29T10:28:07.806753 #1] INFO -- : gem install geocoder -v 1.4.4 -i /var/www/discourse/plugins/discourse-locations/gems/3.1.3 --no-document --ignore-dependencies --no-user-install
Successfully installed geocoder-1.4.4
1 gem installed
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1066 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
9b7ac0c88b42b2aa1eccb9ef291527f4afd8b71861669af66ab79dee5ed82a45
Non riesco a capire perché non mi permetta di avviare lo stesso file yml, che in precedenza aveva avuto successo. Il mio sito, tuttavia, funziona correttamente.
Non ho trovato alcun ‘errore’ nemmeno in ‘Discourse-Doctor’ (posso cercare solo la parola ‘errore’, che non era presente in quel file risultante di discourse doctor). Non sono un esperto, però.
Ieri, dopo aver disabilitato il plugin ‘location’, sono riuscito a ricostruire correttamente il mio container web_only. Ma oggi, anche dopo aver disabilitato tutti i plugin uno per uno, il bootstrapping continua a fallire.
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 900 exit 137>
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 137
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
2c5f01d5ca6b216e744e11547b121e64aac0ad5e37d64d2ec5e2f279fe766c6a
Sì, il container è già avviato e il sito web funziona. Ma quando provo a ricostruire/avviare lo stesso container (solo web), si verifica un errore. Sebbene ieri, di fronte allo stesso problema, la disabilitazione del plugin ‘location’ mi abbia permesso di avviarlo con successo, oggi, anche senza apportare modifiche, lo stesso tentativo è fallito.
Potrebbe essere un problema? Discourse necessita ora di più di 4 GB (anche con tutti i plugin disattivati)? Gli altri 2 siti wpress in esecuzione sulla stessa droplet/istanza sono quasi dormienti.
Potrebbe esserci una soluzione semplice a questo, oltre a passare a una macchina con 8 GB di RAM?
Sì, hai solo 400 MB di memoria libera, il che non consentirà a Discourse di ricostruire. Prova ad aumentarla a 4/5 GB, o a spegnere il forum prima di ricostruire e riprova.
Supponendo che i 400 MB liberi siano a riposo. La ricostruzione è piuttosto intensiva per il sistema (la cercherei in Proxmox per il mio sito, ma è offline da un po’), e richiede più memoria rispetto al riposo.
Mi dispiace, ma non ho capito bene il significato. Intendi dire che dovrei aumentarlo ulteriormente di 4 o 5 GB? Cioè, portarlo da 4 GB a 8 o 9 GB?
Come posso spegnere il mio forum (cioè il sito web)?
E
Intendi dire che, dopo aver aumentato la mia memoria, dovrei comunque spegnere il mio sito web prima di ricostruirlo?
Prova a eseguire questo nella riga di comando prima di aggiungere memoria.
Si presume inoltre che tu abbia un’installazione standard. Assicurati di trovarti nella directory /var/discourse.
Ho riavviato il mio server Ubuntu, il che mi ha permesso di avere circa 700-800 MB di RAM libera sulla mia istanza e l’avvio è andato a buon fine. Avrei dovuto fermare il mio container prima di un altro BS, se un’altra ricostruzione/BS non fosse andata a buon fine dopo aver abilitato i plugin desiderati.
Ma sono stupito dalle nuove richieste di RAM di Discourse. Poiché il costo dell’istanza/droplet quasi raddoppia quando passo da 4 a 8 GB di RAM. Cosa che non desidero, considerando che il mio è un sito web molto, molto, molto piccolo (forse 10 visitatori al giorno). In precedenza, l’installazione standard di Discourse mostrava di richiedere solo 1-2 GB di RAM.
Grazie mille per avermi aiutato a riconoscere cosa stava andando storto.
Se possibile, consiglio di optare per la macchina da 8 GB, se disponibile. La macchina da 2 GB è pensata per forum più piccoli, e il tuo sembra avere molti contenuti.
Il mio ha 4 GB con pochissime visite al momento. Prenderò in considerazione di passare a 8 GB (non ci sono 6 GB) in futuro.
A proposito, alcuni articoli su Google dicevano che la quantità di memoria libera non è molto importante. Poiché questa è una sorta di memoria sprecata che non fa nulla. E gli utenti dovrebbero piuttosto andare/controllare la ‘memoria disponibile’, che è disponibile se se ne presenta la necessità. E nel mio caso, la memoria disponibile è di 1,4 GB.
Come indica lo screenshot/articolo sopra, “disponibile” include “memoria buffer”, ecc., che può essere “disponibile per il sistema” in caso di necessità. Ma non sono un esperto in queste cose.
E, sto ancora ricercando su queste cose (di nuovo, non sono un esperto). Anche se la mia ipotesi è che i miei altri 2 siti web WP, che considero quasi dormienti, possano avere qualcosa a che fare con questo. Proverò a disattivarli nel tempo libero, e poi confronterò le prestazioni.
Per ora, il mio problema di ricostruzione è risolto, senza dover ricorrere a risorse più elevate e pagare quasi il doppio ogni mese. Grazie a te.
Puoi aggiungere spazio di swap. È necessaria molta RAM per una ricostruzione. Inoltre, poiché vedi altre cose in esecuzione oltre a Discourse sul server, è necessaria più memoria rispetto al minimo. Anche se gli altri siti non ricevono traffico, avere l’altro server web in esecuzione consuma un po’ di memoria.