Salut ! J’ai un problème lors de la dernière mise à jour :
FAILED -------------------- Pups::ExecError : cd /var/www/discourse & su discourse -c ‘bundle exec rake db:migrate’ a échoué avec le retour #<Process::Status: pid 690 exit 1> Emplacement de l’échec : /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’ exec a échoué avec les paramètres {“cd”=>“$home”, “hook”=>“db_migrate”, “cmd”=>[“su discourse -c ‘bundle exec rake db:migrate’”]} 7027ff0ccd166f831f9728472676ad91704fdd4caa6833a219d44697e740acdc ** ÉCHEC DU DÉMARRAGE ** veuillez faire défiler vers le haut et rechercher les messages d’erreur précédents, il peut y en avoir plus d’un. ./discourse-doctor peut aider à diagnostiquer le problème.
Ok, comment puis-je les identifier ? En recherchant le mot « error » ? Si vous me dites comment exécuter le journal, je le joindrai. Je suis nouveau dans l’utilisation des serveurs. Merci beaucoup pour votre aide.
## voici le modèle de conteneur Docker Discourse tout-en-un et autonome
##
## Après avoir apporté des modifications à ce fichier, vous DEVEZ reconstruire
## /var/discourse/launcher rebuild app
##
## SOYEZ TRÈS PRUDENT LORS DE LA MODIFICATION !
## LES FICHIERS YAML SONT EXTRÊMEMENT SENSIBLES AUX ERREURS D'ESPACEMENT OU D'ALIGNEMENT !
## visitez http://www.yamllint.com/ pour valider ce fichier si nécessaire
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Décommentez ces deux lignes si vous souhaitez ajouter Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous souhaitez que Discourse partage un port avec un autre serveur web comme Apache ou nginx,
## voir https://meta.discourse.org/t/17247 pour plus de détails
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.spanish"
## Définissez db_shared_buffers à un maximum de 25 % de la mémoire totale.
## sera défini automatiquement par bootstrap en fonction de la RAM détectée, ou vous pouvez le remplacer
db_shared_buffers: "2048MB"
## peut améliorer les performances de tri, mais augmente l'utilisation de la mémoire par connexion
#db_work_mem: "40MB"
## Quelle révision Git ce conteneur doit-il utiliser ? (par défaut : tests-passed)
#version: tests-passed
env:
LC_ALL: es_ES.UTF-8
LANG: es_ES.UTF-8
LANGUAGE: es_ES.UTF-8
DISCOURSE_DEFAULT_LOCALE: es
## Combien de requêtes web simultanées sont prises en charge ? Dépend de la mémoire et des cœurs CPU.
## sera défini automatiquement par bootstrap en fonction des CPU détectés, ou vous pouvez le remplacer
UNICORN_WORKERS: 8
## TODO : Le nom de domaine auquel cette instance Discourse répondra
## Requis. Discourse ne fonctionnera pas avec un simple numéro IP.
DISCOURSE_HOSTNAME: EDITED
## Décommentez si vous souhaitez que le conteneur soit démarré avec le même
## nom d'hôte (-h option) que celui spécifié ci-dessus (par défaut "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO : Liste des e-mails séparés par des virgules qui seront rendus administrateurs et développeurs
## lors de la première inscription, par exemple 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'EDITED'
## TODO : Le serveur de messagerie SMTP utilisé pour valider les nouveaux comptes et envoyer des notifications
# L'adresse, le nom d'utilisateur et le mot de passe SMTP sont requis
# ATTENTION, le caractère '#' dans le mot de passe SMTP peut causer des problèmes !
DISCOURSE_SMTP_ADDRESS: EDITED
DISCOURSE_SMTP_PORT: EDITED
DISCOURSE_SMTP_USER_NAME: EDITED
DISCOURSE_SMTP_PASSWORD: EDITED
DISCOURSE_SMTP_ENABLE_START_TLS: true # (facultatif, par défaut true)
DISCOURSE_SMTP_DOMAIN: EDITED
DISCOURSE_NOTIFICATION_EMAIL: EDITED
## Si vous avez ajouté le modèle Lets Encrypt, décommentez ci-dessous pour obtenir un certificat SSL gratuit
LETSENCRYPT_ACCOUNT_EMAIL: EDITED
## L'adresse CDN http ou https pour cette instance Discourse (configurée pour tirer)
## voir https://meta.discourse.org/t/14857 pour plus de détails
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## La clé d'adresse IP de géolocalisation Maxmind pour la recherche d'adresses IP
## voir https://meta.discourse.org/t/-/137387/23 pour plus de détails
DISCOURSE_MAXMIND_LICENSE_KEY: EDITED
## Le conteneur Docker est sans état ; toutes les données sont stockées dans /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Les plugins vont ici
## voir https://meta.discourse.org/t/19157 pour plus de détails
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-reactions
## Toutes les commandes personnalisées à exécuter après la construction
run:
- exec: echo "Début des commandes personnalisées"
## Si vous souhaitez définir l'adresse e-mail 'De' pour votre première inscription, décommentez et modifiez :
## Après avoir reçu le premier e-mail d'inscription, commentez à nouveau la ligne. Elle ne doit s'exécuter qu'une seule fois.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Fin des commandes personnalisées"
La vérité est que je n’ai jamais eu de problème de mise à jour. Je ne faisais rien d’étrange, j’ai juste mis à jour le système et j’ai reçu l’avertissement qu’une erreur s’était produite.
Il a du mal à exécuter une migration de mai 2021. Ce site a-t-il été déplacé entre les canaux de publication (bêta/stable/tests-passed) ou restauré à partir d’une sauvegarde à un moment donné ?
Je me souviens que nous avons migré de mybb à cette date (21 mai)
Oui, il est vrai qu’aujourd’hui j’ai essayé de récupérer une sauvegarde du début du mois pour essayer d’avoir une copie fonctionnelle avant l’erreur, mais lorsque j’ai cliqué sur démarrer, un écran d’erreur est apparu.
Mon forum est tombé en panne après la mise à niveau. La mise à niveau semble s’être bien déroulée, mais lorsque je suis allé sur la page du forum, celle-ci était vide.
Je l’ai mis à jour manuellement, et le forum fonctionnait. Je ne sais pas si cela vous aidera ou non.
Merci pour votre réponse. Je pense que mon problème est lié à une erreur de base de données concernant la migration des forums. La reconstruction de l’application ne fonctionne pas.
J’ai consulté la FAQ et les manuels, mais je n’ai trouvé aucune solution.
J’ai quelques sauvegardes datant d’avant (je pense) l’erreur, mais je ne peux pas les charger car l’application ne démarre pas. Je ne peux que penser à tout supprimer, faire une installation propre et charger une sauvegarde…
Ayant une sauvegarde, et considérant que je ne peux pas exécuter l’application (pour restaurer la sauvegarde), que puis-je faire ? Je ne vois pas d’autre solution que de supprimer Docker et de recommencer ?
Le seul sujet que j’ai pu trouver avec un problème similaire était Unable to login into discourse suddenly - #8 by Tarek_Khalil, et le conseil était de restaurer une sauvegarde datant d’avant le cafouillage de la migration, ce qui n’est peut-être pas la meilleure option dans votre cas car cela remonte à un certain temps.
Je crains que les erreurs de base de données ne sortent de mes compétences. @pfaffman et @RGJ sont normalement très bons pour cela (bien que je ne sache pas s’ils ont déjà rencontré ce problème). Avez-vous des astuces à proposer ?
De rien ! Lorsque je vide une table, une autre me donne une erreur. J’ai déjà vidé environ 3 tables… Dois-je continuer ainsi une par une ? Merci beaucoup pour votre aide.
Je me réponds. Après avoir vidé 7 tables (discourse_reactions_reactions, directory_columns, external_upload_stubs, associated_groups, user_associated_groups, group_associated_groups, discourse_reactions_reaction_users) le site est opérationnel. J’ai aussi restauré la dernière sauvegarde !
Merci à tous pour votre aide ! Passez un bon week-end