Il y a un serveur de base de données semi-paresseux exécutant PostgreSQL sur le réseau local et je voulais l’utiliser aussi pour Discourse. La raison est que le serveur web est beaucoup plus sollicité que le serveur de base de données mentionné précédemment, qui dispose encore de nombreuses ressources/potentiels inutilisés. Rediriger PostgreSQL de Discourse a été assez facile, en suivant quelques fils de discussion sur ce forum (exemple). Cependant, chaque fois que j’essaie de faire de même pour Redis :
commenter - "templates/redis.template.yml"
définir DISCOURSE_REDIS_HOST à la place
J’obtiens toujours :
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 582 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.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
chaque fois que j’essaie de reconstruire avec launcher rebuild app
Est-ce un problème connu ? Quelqu’un a-t-il réussi à exécuter Discourse avec Redis non conteneurisé ?
C’est tout ce dont vous avez besoin en effet. Pouvez-vous coller l’erreur complète de reconstruction ? Vous avez probablement besoin d’un mot de passe, d’une authentification TLS obligatoire ou d’un domaine inaccessible. L’un d’eux devrait être clair dans le journal de reconstruction.
C’est à peu près tout. Il y a quelques avertissements plus haut dans le journal :
warning " > @mixer/parallel-prettier@2.0.3" has unmet peer dependency "prettier@^2.0.0".
warning "eslint-config-discourse > eslint-plugin-lodash@7.1.0" has unmet peer dependency "lodash@>=4".
warning " > babel-plugin-debug-macros@0.4.0-pre1" has unmet peer dependency "@babel/core@^7.0.0".
warning "workspace-aggregator-3fff36d0-9fd8-4d1a-ac4c-d10694a59627 > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-3fff36d0-9fd8-4d1a-ac4c-d10694a59627 > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-3fff36d0-9fd8-4d1a-ac4c-d10694a59627 > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
mais ils sont présents même lors de la reconstruction avec Redis conteneurisé.
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 581 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.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.
2533af220cc44d8c77bc12c17ed7635dee49ba7f280[...]
MISE À JOUR :
J’ai trouvé des lignes marquées comme INFO plutôt que comme erreur et cela pourrait être la raison, je suppose :
I, [2023-04-06T18:44:02.460059 #1] INFO -- : > cd /var/www/discourse & su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2023-04-06T18:44:04.581741 #1] INFO -- : docker_manager is already at latest compatible version
I, [2023-04-06T18:44:04.581929 #1] INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
Discourse requires Redis 6.2.0 or up
I, [2023-04-06T18:44:05.937604 #1] INFO -- :
Oui, c’est exactement ce que je fais, merci. J’aurais seulement souhaité que ce message soit marqué comme ERREUR plutôt que INFO (parmi de nombreux autres INFO), et qu’il s’arrête immédiatement. J’ai perdu beaucoup de temps à déboguer toutes sortes de choses sans remarquer cette ligne.
Redis n’utilise pas beaucoup de ressources et vous ne pouvez pas le partager avec plusieurs serveurs. J’utiliserais simplement celui de Discourse qui fonctionnait déjà.