Ajouter un avertissement CLI lors de l'exécution de la reconstruction/du bootstrap du lanceur sans app.yml présent

Lorsqu’une nouvelle instance de Discourse est configurée, le dépôt est livré avec standalone.yml.

Le flux de travail documenté est le suivant :

git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup   # crée app.yml

Mais si quelqu’un saute ./discourse-setup et exécute à la place :

./launcher bootstrap app
# ou
./launcher rebuild app

alors que app.yml n’existe pas, il reçoit une erreur confuse car app.yml est absent, et standalone.yml n’est pas automatiquement reconnu comme point de départ.

C’est un obstacle courant pour les nouveaux administrateurs qui supposent que standalone.yml est déjà utilisable.


Proposition :

  • Lorsque launcher bootstrap ou launcher rebuild est appelé et que containers/app.yml n’existe pas, l’interface en ligne de commande devrait afficher un avertissement clair tel que :
Aucun fichier containers/app.yml trouvé.
Avez-vous pensé à exécuter d'abord ./discourse-setup ?
Remarque : app.yml est généré à partir du fichier d'exemple standalone.yml.

Cela éviterait aux nouveaux utilisateurs de se retrouver bloqués et de chercher des réponses sur Meta.


Serait-ce un ajout raisonnable à launcher ?

2 « J'aime »

Oui, pour le moment, si vous exécutez

./launcher bootstrap app

sans avoir d’abord créé app.yml, vous ne voyez que :

ERROR: containers/app.yml does not exist or is not readable.

C’est exact mais pas très utile, surtout pour deux cas courants :

  1. Nouvelle installation en production
    Il faut exécuter ./discourse-setup pour générer app.yml à partir de standalone.yml.

  2. Forum de test rapide sans e-mail sortant
    Parfois, les gens veulent simplement lancer un Discourse local/de test sans configurer SMTP.
    Le flux de travail habituel est le suivant :

./launcher bootstrap app
./launcher start app
./launcher enter app
rake admin:create

Cela vous donne un compte administrateur sans avoir besoin d’e-mail.


Proposition :
Améliorer le message d’erreur afin qu’il guide les deux chemins. Par exemple :

1 « J'aime »

J’ajouterais simplement que le guide officiel de sauvegarde/restauration encourage à copier app.yml sur un nouveau VPS avant d’exécuter launcher.

Le message d’erreur pourrait donc peut-être couvrir ce scénario également. Actuellement, quelqu’un qui suit le guide mais oublie de copier app.yml au préalable se heurtera au même problème.

Peut-être quelque chose comme :

ERREUR : containers/app.yml n'existe pas ou n'est pas lisible.

Si c'est votre première installation, exécutez ./discourse-setup pour générer app.yml
(à partir de l'exemple standalone.yml).

Si vous restaurez sur un nouveau serveur, assurez-vous d'avoir copié votre fichier app.yml existant
depuis l'ancien serveur vers /var/discourse/containers

De cette façon, le message orientera les trois types d’utilisateurs dans la bonne direction :

  • les administrateurs complètement nouveaux
  • les personnes qui restaurent un forum
  • les testeurs qui ne veulent pas configurer SMTP.