Mise à jour du forum ayant entraînée une indisponibilité du service jusqu’à 23h
Explications détaillées
La mise à jour standard du forum (via l’interface web d’administration) a échoué ce qui a provoqué un arrêt du service. J’en ai profité pour mettre à jour le serveur et le redémarrer.
Mais la reconstruction de l’image docker :
./launcher rebuild app
échouait systématiquement :
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 3398 exit 137>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132: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.
Il m’a fallu pas mal de temps pour comprendre ce qu’il se passait mais apparemment le code 137 correspond à un manque de mémoire. Comme la commande ‹ free -h › indiquait qu’il n’y avait pas de swap, j’ai créé un fichier de swap de 2G.
Après cela, l’image a pu être reconstruite et lancée.
Merci, as-tu pu mettre la swappiness <10, voire =1 pour éviter d’user prématurément les SSD ? Dans l’idéal il vaut mieux rajouter de la RAM à la VM si c’est juste.
Ce qui est recommandé par Discourse c’est 1Go pour les petites instances, 2Go pour les grosses instances. Et 2Go de swap (swappiness < 10) pour absorber les pics lors des mises à jour. Du coup 4Go de RAM ça me semble être du gaspillage de ressource.
Normalement c’est automatique mais la conf a du être perdu lors d’une precedente intervention (il y a eu un redimensionnement de la VM ?)
Des que j’ai du temps je repasse dessus pour fixer la swappiness (sauf si quelqu’un d’autre veut le faire).
ps: je n’ai pas/plus le droit d’écrire dans ce canal avec mon compte