Bonjour à tous !
J’essayais de mettre à jour le forum discourse en utilisant le lien posté dans le panneau d’administration et j’ai obtenu cette erreur. Le forum entier a disparu. Que dois-je faire maintenant pour réinitialiser la mise à jour ? Merci beaucoup si quelqu’un peut m’aider.
En fait, cela signifie que votre forum est en cours de mise à jour. - sauf si vous interrompez la mise à jour avant qu’elle ne soit terminée.
Essayez de visiter votre forum https://yoursite.com/latest.json. S’il renvoie quelque chose, attendez 10 minutes et voyez si le problème se résout de lui-même.
J’ai essayé ./launcher rebuild app et j’ai obtenu les messages d’erreur suivants :
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development' failed with return #<Process::Status: pid 340 exit 5>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'"]}
6e9e60bd6b6113cdcb001127fd2a24fe86f2a1658bf24500e5e2b720fd793510
** 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.
et j’ai fait défiler vers le haut et trouvé quelques journaux d’erreurs possibles :
1)200:M 25 Jun 2023 16:00:16.252 # Failed listening on port 6379 (TCP), aborting.
2)[DEPRECATED] The `--deployment` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local deployment 'true'`, and stop using this flag
[DEPRECATED] The `--without` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local without 'test development'`, and stop using this flag
3)Bundler::PathError: The path `/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/sprockets-f4d3dae71ef2` does not exist.
4)Bundler::InstallError: sass-embedded-1.63.6-x86_64-linux requires rubygems version >= 3.3.22, which is incompatible with the current version, 3.2.18
Merci beaucoup pour votre réponse, mais je suppose que ce n’est pas le même problème, mon serveur est en Allemagne. J’utilise l’image Docker de Discourse pour mon serveur. Que dois-je faire si ./launcher rebuild app ne fonctionne pas ?
J’ai lu la documentation du dernier programmeur pour moi et il est indiqué que de nombreuses choses sur le web fonctionnent derrière nginx et que discourse doit également être hébergé derrière nginx. L’installation standard ne fonctionne pas dans ma situation.
et voici comment il l’a dit dans le document et comment il a procédé :
Discourse s’exécute dans un conteneur Docker. Cependant, il nécessite un type de configuration spécial, pas via un fichier docker-compose.yml ou un fichier .conf.
Le dépôt GitHub discourse-project/ requis pour configurer et construire l’image Docker se trouve ici. Ignorez le programme agréable et juteux “discourse-setup” qu’ils fournissent, cela ne fonctionnera pas ici. Nous devons configurer l’application nous-mêmes.
clonez discourse_docker vers /var/discourse : git clone https://github.com/discourse/discourse_docker.git /var/discourse
allez dans le dossier et utilisez une configuration d’échantillon fournie : cd /var/discourse && cp samples/standalone.yml containers/app.yml
puis éditez le fichier containers/app.yml (par exemple avec sudo nano)
Des modifications ont été apportées à la section d’hébergement, aux paramètres smtp pour les e-mails et - important - à la section expose afin qu’un seul port inutilisé soit exposé à l’extérieur
Pour exécuter discourse sur un chemin tel que “/forum”, d’autres modifications ont été nécessaires, comme décrit ici
Certains problèmes surviennent également avec l’authentification par e-mail :
L’e-mail qui envoie des e-mails est ici “l’e-mail du serveur”. Cependant, Discourse s’attend à ce que l’e-mail ait le même domaine que son hôte, à savoir “l’e-mail du serveur”.
Vous devez vraiment tout déplacer vers une nouvelle VM avec un système d’exploitation pris en charge. Vous devrez donc également mettre à niveau tout le reste de ce que vous avez en cours d’exécution.
Bonjour Jammy, après de nombreux échecs d’installation, j’ai constaté que cela était dû à la limite de mémoire du serveur et au réseau. Je vous suggère d’utiliser un serveur avec 4 Go de mémoire et un accès normal à GitHub et Ruby.
Cette erreur me dérange - la voyez-vous toujours ? Le conteneur Docker devrait maintenant exécuter la version 3.2.0.
Mais si votre /var/discourse n’est pas un répertoire git, quelque chose a été fait différemment des instructions. Cela empêche une mise à jour et provoque l’inadéquation de la version ruby. Pour moi :
/var/discourse# git status
On branch main
Your branch is up to date with 'origin/main'.
Nous voyons également un répertoire .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
Edit : mais c’est vrai, si vous utilisez un système d’exploitation trop ancien, vous avez du travail à faire pour installer discourse sur un nouveau système d’exploitation et récupérer votre sauvegarde, ainsi que pour faire toutes les choses supplémentaires qui pourraient être nécessaires à votre situation spécifique.
Si votre serveur fait plus que simplement exécuter discourse, c’est une complication supplémentaire. Vous pourriez avoir besoin d’une expertise locale.
Merci à tous de votre aide, j’essaierai vos suggestions une par une pour résoudre le problème. Si j’ai des retours (bons ou mauvais), je les posterai sur le forum. Merci encore !
J’ai installé avec succès la nouvelle version de Discourse. J’ai suivi les instructions du document ci-dessus et cela a fonctionné pour moi. Mais maintenant, j’ai du mal à restaurer à partir de la sauvegarde.
J’ai essayé Restaurer une sauvegarde à partir de la ligne de commande mais j’ai obtenu ce qui suit :
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.