Échec de la mise à niveau 2.7.0.beta2

Hi, I just received an email from discourse, proposing to upgrade from 2.7.0.beta1 to 2.7.0.beta2.
I went to the admin page and clicked on upgrade, and it seems like something has failed.
As a result, it is not possible to access my dicourse instance anymore (Error 500).

I include here the final part of the log. The full log was too long and therefore I could not include it here.
Instead, you can access it through pastebin.

The instance is hosted on a 2GB memory, 50GB hard disk digital ocean droplet. Nothing special was configured at this discourse instance. In fact, nobody even ever sent a single message on this instance.

brotli -f --quality=6 /var/www/discourse/public/assets/locales/zh_TW-09cd38bbba5770af30c208be36b0763fb1db74e336db84185e8a173201f7548e.js --output=/var/www/discourse/public/assets/locales/zh_TW-09cd38bbba5770af30c208be36b0763fb1db74e336db84185e8a173201f7548e.js.br


Done compressing locales/zh_TW-09cd38bbba5770af30c208be36b0763fb1db74e336db84185e8a173201f7548e.js : 0.11 secs

5746.556775825 Compressing: locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js > /var/www/discourse/public/assets/locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js --output=/var/www/discourse/public/assets/locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js.br


Done compressing locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js : 0.11 secs

5746.662857966 Compressing: locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js > /var/www/discourse/public/assets/locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js --output=/var/www/discourse/public/assets/locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js.br


Done compressing locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js : 0.1 secs

5746.764039922 Compressing: locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js > /var/www/discourse/public/assets/locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js --output=/var/www/discourse/public/assets/locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js.br


Done compressing locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js : 0.14 secs

5746.902258561 Compressing: locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js > /var/www/discourse/public/assets/locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js --output=/var/www/discourse/public/assets/locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js.br


Done compressing locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js : 0.11 secs

5747.007671073 Compressing: locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js > /var/www/discourse/public/assets/locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js --output=/var/www/discourse/public/assets/locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js.br


Done compressing locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js : 0.15 secs

5747.159975235 Compressing: locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js > /var/www/discourse/public/assets/locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js --output=/var/www/discourse/public/assets/locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js.br


Done compressing locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js : 0.12 secs

Skipping: plugins/discourse-local-dates-85c0a52c5a0ee4c69ce0a55fb5c6047c7fd2c12f0437b843240bb9ea3d4457b1.js already compressed
Skipping: plugins/discourse-narrative-bot-d88c63e1a6fadc2e6371b706e54750b554e3ee890061223c9af0f8feeb89915a.js already compressed
Skipping: plugins/discourse-presence-da4864123e624ace0b06153a5b9e6b600e5d5b6d6c28ada211bb7ec50894a66c.js already compressed
Skipping: plugins/poll-91a566fa78da0bffec70d7c8923ac79757032168b646e8c84d921d9810789bb1.js already compressed
Skipping: application-bd6ed652347208302845f7e2be3f2d2dbbbb72be7df2c0e46c18422a61188ff0.js already compressed
5747.281046973 Compressing: vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js
uglifyjs '/var/www/discourse/public/assets/_vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js' -m -c -o '/var/www/discourse/public/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js' --source-map "base='/var/www/discourse/public/assets',root='/assets',url='/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js.map'"
Parse error at _vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js:1850,34
        return Handlebars.compile(...arguments);
                                  ^
ERROR: Unexpected token: punc «.»
    at JS_Parse_Error.get (eval at <anonymous> (/usr/lib/node_modules/uglify-js/tools/node.js:18:1), <anonymous>:71:23)
    at fatal (/usr/lib/node_modules/uglify-js/bin/uglifyjs:332:27)
    at run (/usr/lib/node_modules/uglify-js/bin/uglifyjs:275:9)
    at Object.<anonymous> (/usr/lib/node_modules/uglify-js/bin/uglifyjs:190:5)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
rake aborted!
Errno::ENOENT: No such file or directory @ rb_file_s_size - /var/www/discourse/public/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js
/var/www/discourse/lib/tasks/assets.rake:287:in `size'
/var/www/discourse/lib/tasks/assets.rake:287:in `block (4 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:178:in `block in concurrent?'
/var/www/discourse/lib/tasks/assets.rake:278:in `block (3 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:269:in `each'
/var/www/discourse/lib/tasks/assets.rake:269:in `block (2 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:178:in `concurrent?'
/var/www/discourse/lib/tasks/assets.rake:266:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:178:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:86:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.3.3/lib/rails/commands/runner/runner_command.rb:42:in `perform'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.3.3/lib/rails/command/base.rb:69:in `perform'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.3.3/lib/rails/command.rb:46:in `invoke'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.3.3/lib/rails/commands.rb:18:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `block in require'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:291:in `load_dependency'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `require'
bin/rails:17:in `<main>'
Spinning up 3 Unicorn worker(s) that were stopped initially

Avez-vous installé des plugins non standard ?

Avez-vous exécuté la commande suivante dans le terminal ?

 ./launcher rebuild app

De mon côté, je n’ai aucun plugin non standard et j’ai lancé cela en ligne de commande. La première fois, je rencontrais toujours l’erreur.

J’ai ensuite redémarré mon serveur, reconstruit l’application… et cela fonctionne.

Bonjour, merci pour ta réponse rapide !
J’ai une installation vanilla, je n’ai rien modifié si ce n’est cliquer de temps en temps sur le bouton « upgrade ». C’est pourquoi ce qui est arrivé à mon instance Discourse m’a beaucoup surpris.
Je n’ai pas encore essayé ./launcher rebuild app, je vais le faire et te tenir au courant du résultat.

Ma mise à niveau vers 2.7.0.Beta2 ne peut même pas être lancée — j’ai cliqué sur le lien de mise à niveau en un clic dans l’e-mail annonçant cette mise à niveau

Hooray, une nouvelle version de Discourse est disponible !

Votre version : 2.7.0.beta1
Nouvelle version : 2.7.0.beta2

Effectuez la mise à niveau grâce à notre facile mise à niveau en un clic via le navigateur

Découvrez les nouveautés dans les notes de version ou consultez le journal des modifications brut sur GitHub

Rendez-vous sur meta.discourse.org pour les actualités, les discussions et le support de Discourse

et cela donne

Pourquoi cela arrive-t-il ? Devrais-je exécuter la mise à niveau depuis la console en étant connecté au droplet Digital Ocean hébergeant Discourse ?

Vous devrez effectuer la mise à niveau depuis la ligne de commande. Une nouvelle image de base Docker est disponible.

./launcher rebuild app

L’annonce le mentionne, mais cela n’est pas clair dans l’e-mail de mise à niveau standard.

Je viens de passer à la version 2.7.0.Beta2
Vous devez effectuer cette mise à jour spécifique en ligne de commande.

cd /var/discourse
git pull
 ./launcher rebuild app

Mes excuses pour cette discussion asynchrone — j’ai commencé ma question et dû quitter mon bureau brusquement. Pour éviter de perdre mon message inachevé, je l’ai enregistré, ce qui vous a donné l’occasion de répondre à ma question avant que je ne l’aie complètement publié :wink:

La console DO fonctionnerait si vous n’utilisiez pas de terminal.

Les boutons de la capture d’écran sont initialement désactivés, ce qui vous oblige à mettre à niveau Docker en premier.

Au passage : vous auriez pu laisser votre réponse telle quelle, car elle est enregistrée automatiquement comme brouillon.

J’ai parlé trop vite

Merci, @geoff777 — tout est clair maintenant

Essai d’exécution de

cd /var/discourse
git pull
./launcher rebuild app

Le script rebuild app a échoué deux fois de suite, exactement au même endroit :

Il ne s’agit pas d’une interférence réseau aléatoire. Merci de me conseiller.

Dans mon cas, la reconstruction est bloquée au niveau du plugin discourse-vk-auth. Actuellement, mon instance fonctionne sans ce plugin.

gem install rrule -v 0.4.2 -i /var/www/discourse/plugins/discourse-calendar/gems/2.7.2 --no-document --ignore-dependencies --no-user-install
Successfully installed rrule-0.4.2
1 gem installed
gem install omniauth-vkontakte -v 1.6.1 -i /var/www/discourse/plugins/discourse-vk-auth/gems/2.7.2 --no-document --ignore-dependencies --no-user-install
Successfully installed omniauth-vkontakte-1.6.1
1 gem installed

I, [2021-01-22T17:13:51.391038 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::ConflictError: Unable to activate omniauth-vkontakte-1.6.1, because omniauth-oauth2-1.7.1 conflicts with omniauth-oauth2 (>= 1.5, <= 1.7.0)

J’ai également rencontré des problèmes avec ce plugin vk dans des versions précédentes. Je vous recommande de le désinstaller, puis de coller le journal d’erreurs dans le sujet dédié à ce plugin sur le forum afin qu’il puisse être résolu. :+1:

Difficile à dire d’après la capture d’écran. Avez-vous suffisamment d’espace disque ?

Vous avez modifié vos deux précédents messages après que j’ai interagi.

La deuxième fois, j’ai « liké » un message positif, mais vous l’avez modifié et il s’agit maintenant d’un message concernant un problème.
Ce qui, apparemment, me plaît ?

Toutes mes excuses @geoff777 — sans vraiment y réfléchir, j’ai reclassé votre commentaire « like » (mon intention était de garder le nombre de mes publications faible, réduisant ainsi les risques de malentendu)


Je pense que j’ai suffisamment d’espace :

 System information as of Fri Jan 22 20:56:56 UTC 2021

  System load:  0.02               Users logged in:          0
  Usage of /:   39.7% of 24.06GB   IPv4 address for docker0: 172.17.0.1
  Memory usage: 50%                IPv4 address for eth0:    xxx.xxx.xxx.xxx
  Swap usage:   1%                 IPv4 address for eth0:    
  Processes:    107                IPv4 address for eth1:    

Cependant, je soupçonne que mon problème est lié à la console de Digital Ocean — elle expire très rapidement, il est donc possible que ma mise à jour ait réussi et que je n’en sois pas conscient. Je vais contacter le support de DO et vous faire part de mes conclusions ici.

Merci.

Vous pouvez vérifier sur le tableau de bord de votre forum que vous avez réussi la mise à niveau.
J’espère que cela a fonctionné.

Votre souhait / espoir @geoff777 n’a pas aidé. J’ai essayé de me connecter, mais le serveur Discourse ne répondait pas.

J’ai décidé d’exécuter discourse-doctor depuis la console DO, lancée via l’outil PuTTY (je suis sur une machine Windows 10), et ma console s’est arrêtée au même endroit.

Notez le début de cette exécution : - app not running!

root@discourse-server:/var/discourse# ./discourse-doctor
DISCOURSE DOCTOR ven. 22 janv. 22:14:45 UTC 2021
OS: Linux discourse-server 5.4.0-62-generic #70-Ubuntu SMP mar. 12 janv. 12:45:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux


Conteneur/app.yml trouvé

==================== PARAMÈTRES YML ====================
DISCOURSE_HOSTNAME=forum.congral.tech
SMTP_ADDRESS=smtp.mailgun.org
DEVELOPER_EMAILS=admin@congral.com
SMTP_PASSWORD=3a22be2a4ba5ce9b0865199dc7083871-xxxxxx
SMTP_PORT=587
SMTP_USER_NAME=postmaster@forum.congral.tech
LETSENCRYPT_ACCOUNT_EMAIL=nikolaj.ivancic@congral.com

==================== INFOS DOCKER ====================
VERSION DOCKER : Docker version 20.10.2, build 2291f61

PROCESSUS DOCKER (docker ps -a)

CONTAINER ID   IMAGE                              COMMAND                  CREAT              ED          STATUS                      PORTS     NAMES
4e0150995f6a   discourse/base:2.0.20201221-2020   "/bin/bash -c 'cd /p…"   16 mi              nutes ago   Exited (1) 14 minutes ago             mystifying_fermat
271aff6b3bce   discourse/base:2.0.20201221-2020   "/bin/bash -c 'cd /p…"   5 hou              rs ago      Exited (1) 5 hours ago                modest_brown
30ed32bab133   discourse/base:2.0.20201221-2020   "/bin/bash -c 'cd /p…"   5 hou              rs ago      Exited (1) 5 hours ago                laughing_lalande
add2d921333a   local_discourse/app                "/sbin/boot"             2 wee              ks ago      Exited (5) 5 hours ago                app

==================== PROBLÈME GRAVE !!!! ====================
app not running!
Tentative de reconstruction
==================== JOURNAL DE RECONSTRUCTION ====================
Vérification que le lanceur est à jour
Récupération de origin
Le lanceur est à jour
Arrêt de l'ancien conteneur
+ /usr/bin/docker stop -t 60 app
...

Voici le journal complet jusqu’au point d’échec, enregistré dans mon dépôt Github pour économiser de l’espace ici.

Le fait que j’aie répété cette mise à niveau plusieurs fois et qu’après chaque échec (qui m’a été signalé comme une « erreur réseau de la console »), il est évident que cette mise à niveau tue l’instance Discourse existante.

Veuillez me conseiller. Je suis heureux de vous transmettre mes certificats au cas où vous souhaiteriez exécuter cela vous-même.

Les deux fois où vous avez eu cette erreur fatale de PuTTY ?

Cela semble être un problème de PuTTY, même si je ne vois pas pourquoi.

Oui, @pfaffman, je rencontre la même erreur. Si l’exécution de ./discourse-doctor provoque une défaillance catastrophique, n’est-il pas possible que cette défaillance entraîne l’erreur fatale de PuTTY – du moins selon ma propre vue (à distance) de son échec ?

Cela ne semble pas très probable, mais je vais créer un ticket de support pour DO, en espérant qu’ils aient une meilleure vision de ce problème.

Je pense que j’essaierai la console Digital Ocean ensuite (en fait, j’utiliserais un terminal sous Ubuntu, mais ce n’est pas ce que je vous recommande).

Depuis hier, j’ai observé beaucoup de comportements étranges. Avant de les partager ici, veuillez me faire savoir si la poursuite de ce fil est utile pour quelqu’un (l’alternative est que je marche tout simplement sur mes propres pieds… et que tout cela est une perte de temps pour tout le monde). J’ai constaté que :

  • la réinitialisation du mot de passe root (depuis le panneau de contrôle DO) a permis d’utiliser la console de Digital Ocean (comme l’a suggéré @pfaffman ci-dessus)
  • ensuite, j’ai exécuté discourse-doctor dans cette console et il n’a rien trouvé de mal (avant cet événement de réinitialisation) https://forum.congral.tech ne répondait pas - maintenant tout fonctionne parfaitement)
  • Toutes mes tentatives de mise à niveau de Discourse (comme celle-ci) ont échoué à plusieurs reprises (la console PuTTY affichant Network Error comme raison), et aujourd’hui je peux confirmer que la mise à niveau a échoué :
content="Discourse 2.7.0.beta1 - https://github.com/discourse/discourse version 1cf92310456fb6e6424f6b532770461c56378d53"

Changer le mot de passe root puis utiliser la console de Digital Ocean est un changement significatif qui pourrait intéresser l’équipe Discourse pour mieux comprendre. Dois-je continuer à creuser et partager mes découvertes ici, @pfaffman ?