Mon site est hors service après l'installation d'un plugin

Je suis allé installer un plugin et il a commencé à donner l’erreur suivante à l’endroit où j’exécute ./launcher rebuild app

J’utilise ./discourse-doctor mais cela ne résout pas le problème

FAILED
--------------------
Pups::ExecError: if [ -z "$LETSENCRYPT_ACCOUNT_EMAIL" ]; then echo "LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set."; exit 1; fi failed with return #<Process::Status: pid 2296 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cmd"=>["if [ -z \"$LETSENCRYPT_ACCOUNT_EMAIL\" ]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set.\"; exit 1; fi", "/bin/bash -c \"if [[ ! \\\"$LETSENCRYPT_ACCOUNT_EMAIL\\\" =~ ([^@]+)@([^\\\\.]+) ]]; then echo \\\\\\\"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\\\\\\\"; exit 1; fi\""]}
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.
324b6cc40db917188cb3d87640ff1a1c23142c551b71bc55b0f33ccd88e88af7

maintenant, affichez ceci

root@ForumPandex:/var/discourse# ./launcher rebuild app
Architecture x86_64 détectée.
Vérification de la mise à jour du lanceur
Récupération de l'origine
Le lanceur est à jour
(unknown): impossible de trouver le ':' attendu lors de l'analyse d'une clé simple à la ligne 67 colonne 3 -e LANG=en_US.UTF-8
Erreur de syntaxe YAML. Veuillez vérifier vos fichiers de configuration containers/*.yml.

Il semble que vous ayez une faute de frappe dans votre app.yml.

Le premier message d’erreur pointerait vers votre e-mail let’sencrypt, mais le second suggère qu’il vous manque un deux-points. Voyez-vous quelque chose d’évident que vous auriez accidentellement ajouté/supprimé en modifiant pour ajouter le plugin ?

3 « J'aime »
ger.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-yearly-review.git
          - git clone https://github.com/mondiscourse/discourse-formatting-toolbar.git
          - git clone https://github.com/techapj/discourse-custom-topic-button.git
          - git clone https://github.com/discourse/discourse-chat.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/communiteq/discourse-delete-unreplied-topics
          - git clone https://github.com/discourse/discourse-animated-avatars
          - git clone https://github.com/gnunicorn/discourse-plugin-replygif
          - git clone https://github.com/discourse/discourse-gamification
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-yearly-review.git
          - git clone https://github.com/mondiscourse/discourse-formatting-toolbar.git
          - git clone https://github.com/techapj/discourse-custom-topic-button.git
          - git clone https://github.com/discourse/discourse-chat.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/communiteq/discourse-delete-unrepl
          - git clone https://github.com/discourse/discourse-animated-avata
          - git clone https://github.com/gnunicorn/discourse-plugin-replygif
          - git clone https://github.com/discourse/discourse-gamification
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.

## Toutes 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, re-commentez 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"

@JammyDodger a raison à propos de la faute de frappe. J’en vois au moins trois :

4 « J'aime »

De plus, tous vos plugins y sont présents en double.

4 « J'aime »

en fait, quand je l’ai créé, je l’ai mal copié, y a-t-il un moyen de tout copier en une seule fois depuis l’invite de commande ?

Les gars, je ne sais même plus ce que j’ai fait, je sais juste que le site est toujours en panne, comment puis-je savoir ce que j’ai mal fait ?

maintenant le discourse doctor dit ça

======================================== ERREUR ========================================
                                    ERREUR INATTENDUE

Dépassement du délai d'ouverture de la connexion TCP à email-smtp.us-east-1.amazonaws.com:25 (dépasse 5 secondes)

====================================== SOLUTION =======================================
Ce n'est pas une erreur courante. Aucune solution recommandée n'existe !

Veuillez signaler le message d'erreur exact ci-dessus à https://meta.discourse.org/
(Et une solution, si vous en trouvez une !)
=======================================================================================
Remplacement : SMTP_PASSWORD
Remplacement : LETSENCRYPT_ACCOUNT_EMAIL
Remplacement : DEVELOPER_EMAILS
Remplacement : DISCOURSE_DB_PASSWORD
Remplacement : Envoi d'e-mail à

==================== TERMINÉ ! ====================
Souhaitez-vous servir une version de ce fichier accessible publiquement ? (O/n)```

Vous devriez pouvoir redémarrer l’ancien conteneur avec

./launcher start app

Ensuite, vous devrez corriger votre yml.

Oh, discourse doctor aurait dû redémarrer l’ancien conteneur.

toujours mauvais
je suis désespéré

La chose la plus simple à faire pourrait être de renommer votre app.yml en broken.yml, puis d’exécuter ./discourse-setup. Cela créera un nouvel app.yml, mais ne supprimez pas vos données existantes.

8 « J'aime »

J’ai essayé et maintenant il s’affiche

Vérification de votre nom de domaine . . .
AVERTISSEMENT : Le port 443 de l'ordinateur ne semble pas accessible en utilisant le nom d'hôte : www.dexforum.com.br].
AVERTISSEMENT : La connexion à http://www.dexforum.com.br] (port 80) échoue également.

Cela suggère que www.dexforum.com.br] se résout en une adresse IP qui n'atteint pas cette machine où vous installez discourse.

La première chose à faire est de confirmer que www.dexforum.com.br] se résout en l'adresse IP de ce serveur.
Vous le faites généralement au même endroit où vous avez acheté le domaine.

Si vous êtes sûr que l'adresse IP se résout correctement, il pourrait s'agir d'un problème de pare-feu.
Une recherche sur le Web pour « ouvrir les ports VOTRE SERVICE CLOUD » pourrait vous aider.

Cet outil est conçu uniquement pour les installations les plus standard. Si vous ne parvenez pas à résoudre le problème ci-dessus, vous devrez modifier vous-même containers/app.yml, puis taper

./launcher rebuild app

Eh bien, j’ai réussi à configurer Discourse, mais lors de la reconstruction, ceci apparaît

(inconnu): les valeurs de mappage ne sont pas autorisées dans ce contexte à la ligne 98 colonne 12 -e LANG=en_US.UTF-8
Erreur de syntaxe YAML. Veuillez vérifier vos fichiers de configuration containers/*.yml.

Avez-vous modifié app.yml à la main, pour, par exemple, ajouter un plugin ?

Oui, c’est là que se trouvent les hooks after_code pour les plugins.

@danielabc si vous voulez que nous vous aidions, vous devez nous faire part de vos commentaires sur les étapes que nous fournissons, idéalement sans sortir des clous. L’installation de plugins viendra après que nous vous ayons aidé à reconstruire une instance fonctionnelle.

1 « J'aime »

J’ai réussi à résoudre le problème, mais savez-vous ce que j’ai trouvé étrange, c’est que tous les .yml que Discourse a créés avaient le mauvais format ? Est-ce possible ? Je n’ai rien fait, je ne l’ai même pas modifié, mais le .yml était toujours créé avec le mauvais format.

J’ai utilisé https://www.yamllint.com/ que j’ai trouvé sur Google, cela m’a aidé avec le bon format, et j’ai finalement pu faire une reconstruction.

mais je n’avais jamais imaginé que le fichier .yml pouvait être mal formaté par le système, cela m’a laissé perplexe.

1 « J'aime »

Discourse-setup n’a pas été modifié depuis environ six mois.
La seule façon dont je peux imaginer qu’il puisse produire du yaml mal formé est par le biais des réponses aux invites.
Avez-vous copié et collé les réponses, ou les avez-vous saisies à la main ?

2 « J'aime »

Ce crochet ne devrait pas être là.

Je viens de générer une commande pour créer un nouveau fichier .yml, mais je n’ai rien modifié dans le nouveau fichier .yml, j’ai juste fait la reconstruction, ce qui a provoqué une erreur en raison d’un mauvais formatage.