Échec de l'installation de Discourse via Docker

Je remplis le fichier app.yml et j’utilise cette commande pour reconstruire l’image :

sudo ./launcher rebuild app

Cependant, j’ai rencontré ce problème et je ne sais pas comment le résoudre…

I, [2021-07-07T01:28:34.484614 #1]  INFO -- : 
I, [2021-07-07T01:28:34.484941 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
** ÉCHEC DU PLUGIN **

Vous ne pouvez pas construire Discourse en raison de cette erreur lors de l'initialisation du plugin :

constante Onebox non initialisée

/var/www/discourse/plugins/google_docs_onebox/plugin.rb:6:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:629:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:629:in `activate!'
lib/discourse.rb:240:in `block in activate_plugins!'
lib/discourse.rb:237:in `each'
lib/discourse.rb:237:in `activate_plugins!'
/var/www/discourse/config/application.rb:313:in `block in <class:Application>'
/var/www/discourse/lib/plugin_initialization_guard.rb:5:in `plugin_initialization_guard'
/var/www/discourse/config/application.rb:312:in `<class:Application>'
/var/www/discourse/config/application.rb:73:in `<module:Discourse>'
/var/www/discourse/config/application.rb:72:in `<top (required)>'
/var/www/discourse/Rakefile:7:in `require'
/var/www/discourse/Rakefile:7:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/lib/rake/rake_module.rb:29:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/lib/rake/rake_module.rb:29:in `load_rakefile'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/lib/rake/application.rb:710:in `raw_load_rakefile'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/lib/rake/application.rb:104:in `block in load_rakefile'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/lib/rake/application.rb:186:in `standard_exception_handling'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/lib/rake/application.rb:103:in `load_rakefile'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/lib/rake/application.rb:82:in `block in run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/lib/rake/application.rb:186:in `standard_exception_handling'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/lib/rake/application.rb:80:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.4/exe/rake:27:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake:23:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake:23:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/cli/exec.rb:63:in `load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/cli/exec.rb:63:in `kernel_load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/cli/exec.rb:28:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/cli.rb:474:in `exec'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/cli.rb:30:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/cli.rb:24:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/exe/bundle:49:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/lib/bundler/friendly_errors.rb:130:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.19/exe/bundle:37:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
I, [2021-07-07T01:28:35.629849 #1]  INFO -- : 
I, [2021-07-07T01:28:35.674810 #1]  INFO -- : Terminaison des processus asynchrones
I, [2021-07-07T01:28:35.674950 #1]  INFO -- : Envoi de INT à HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 70
I, [2021-07-07T01:28:35.675020 #1]  INFO -- : Envoi de TERM à exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 187
2021-07-07 01:28:35.675 UTC [70] LOG:  demande d'arrêt rapide reçue
187:signal-handler (1625621315) SIGTERM reçu, planification de l'arrêt...
187:M 07 Jul 2021 01:28:35.675 # Arrêt demandé par l'utilisateur...
187:M 07 Jul 2021 01:28:35.675 * Sauvegarde du dernier instantané RDB avant la sortie.
2021-07-07 01:28:35.742 UTC [70] LOG:  annulation de toutes les transactions actives
187:M 07 Jul 2021 01:28:35.742 * Base de données sauvegardée sur le disque
187:M 07 Jul 2021 01:28:35.742 # Redis est maintenant prêt à quitter, au revoir...
2021-07-07 01:28:35.745 UTC [70] LOG:  le processus worker en arrière-plan "logical replication launcher" (PID 79) s'est terminé avec le code de sortie 1
2021-07-07 01:28:35.747 UTC [74] LOG:  arrêt en cours
2021-07-07 01:28:36.300 UTC [70] LOG:  le système de base de données est arrêté


ÉCHEC
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' a échoué avec le retour #<Process::Status: pid 3841 exit 1>
Emplacement de l'échec : /pups/lib/pups/exec_command.rb:112:in `spawn'
exécution échouée avec les paramètres {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
1eaf7abdf201a825d63cd5c85f3e2217f718c135926b71519cda2050340da3d5
** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d'erreur antérieurs, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.

Voici l’intégralité du journal :
Note.txt (75,4 KB)

Le problème est que je ne comprends pas pourquoi je ne peux pas ajouter le plugin dans le fichier app.yml.

Dans mon app.yml, la section des plugins est la suivante :

## Les plugins vont ici
## voir https://meta.discourse.org/t/19157 pour les détails
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-solved.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-checklist.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-whos-online.git
          - sudo -E -u discourse git clone https://github.com/gdpelican/babble.git
          - sudo -E -u discourse git clone https://github.com/kasperpeulen/discourse-mathjax.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-tooltips.git
          - sudo -E -u discourse git clone https://github.com/paviliondev/discourse-topic-previews.git
          - sudo -E -u discourse git clone https://github.com/naveed-ahmad/google_docs_onebox.git

Il semble rencontrer un problème d’accès refusé…
Y a-t-il une méthode pour résoudre cela ?
Merci !!

google_docs_onebox est probablement cassé, il suffit de supprimer la ligne dans app.yml ?

1 « J'aime »

La source de ce gem n’a pas été mise à jour depuis 6 ans. La documentation indique spécifiquement :

Ce plugin a été fusionné dans le gem officiel Onebox. Il n’est donc pas nécessaire de l’installer si vous utilisez la dernière version.

Vous devrez donc supprimer cette entrée.

2 « J'aime »

C’est noté !!
Merci @Benjamin_D et @Andrew Schleifer !!

En effet, ce que j’ai testé, c’est que lorsque j’ai supprimé les parties ci-dessous, cela fonctionnait bien sans aucune erreur, mais l’ensemble des plugins n’était pas installé.

- sudo -E -u discourse git clone https://github.com/discourse/discourse-solved.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-checklist.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-whos-online.git
          - sudo -E -u discourse git clone https://github.com/gdpelican/babble.git
          - sudo -E -u discourse git clone https://github.com/kasperpeulen/discourse-mathjax.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-tooltips.git
          - sudo -E -u discourse git clone https://github.com/paviliondev/discourse-topic-previews.git
          - sudo -E -u discourse

Merci pour votre aide !!

Cordialement,
Chieh