Fügen Sie eine CLI-Warnung hinzu, wenn der Launcher-Bootstrap/Rebuild ohne die Anwesenheit von app.yml ausgeführt wird

Wenn ein frischer Klon von Discourse eingerichtet wird, wird das Repository mit standalone.yml ausgeliefert.
Der dokumentierte Workflow ist:

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

Aber wenn jemand ./discourse-setup überspringt und stattdessen ausführt

./launcher bootstrap app
# oder
./launcher rebuild app

während app.yml nicht existiert, erhalten sie eine verwirrende Fehlermeldung, da app.yml nicht vorhanden ist und standalone.yml nicht automatisch als Ausgangspunkt erkannt wird.
Dies ist ein häufiger Stolperstein für neue Administratoren, die davon ausgehen, dass standalone.yml bereits zur Verwendung gültig ist.


Vorschlag:

  • Wenn launcher bootstrap oder launcher rebuild aufgerufen wird und containers/app.yml nicht existiert, sollte die CLI eine klare Warnung ausgeben, wie zum Beispiel:
Keine containers/app.yml gefunden.
Wollten Sie zuerst ./discourse-setup ausführen?
Hinweis: app.yml wird aus der Beispiel-Datei standalone.yml generiert.

Dies würde neuen Benutzern ersparen, auf eine Sackgasse zu stoßen und auf Meta nach Antworten zu suchen.


Wäre dies eine sinnvolle Ergänzung zu launcher?

2 „Gefällt mir“

Ja, im Moment, wenn Sie ausführen

./launcher bootstrap app

ohne zuerst app.yml zu erstellen, sehen Sie nur:

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

Das ist zwar richtig, aber nicht sehr hilfreich, insbesondere für zwei gängige Fälle:

  1. Neue Produktionsinstallation
    Sollte ./discourse-setup ausführen, um app.yml aus standalone.yml zu generieren.

  2. Schnelles Testforum ohne ausgehende E-Mails
    Manchmal möchten Benutzer einfach ein lokales/Test-Discourse hochfahren, ohne SMTP zu konfigurieren.
    Der übliche Workflow ist:

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

Dies gibt Ihnen ein Admin-Konto, ohne dass eine E-Mail erforderlich ist.


Vorschlag:
Verbessern Sie die Fehlermeldung, damit sie beide Wege aufzeigt. Zum Beispiel:

1 „Gefällt mir“

Ich möchte nur hinzufügen, dass die offizielle Anleitung zum Sichern/Wiederherstellen empfiehlt, app.yml vor dem Ausführen von launcher auf einem neuen VPS an Ort und Stelle zu kopieren.

Die Fehlermeldung könnte also vielleicht auch dieses Szenario abdecken. Im Moment wird jemand, der der Anleitung folgt, aber vergisst, app.yml zuerst zu kopieren, in die gleiche Sackgasse geraten.

Vielleicht so etwas wie:

FEHLER: containers/app.yml existiert nicht oder ist nicht lesbar.

Wenn dies Ihre erste Installation ist, führen Sie ./discourse-setup aus, um app.yml zu generieren
(aus der Beispiel-Standalone.yml).

Wenn Sie auf einem neuen Server wiederherstellen, stellen Sie sicher, dass Sie Ihre vorhandene
app.yml vom alten Server nach /var/discourse/containers kopiert haben

Auf diese Weise weist die Nachricht alle drei Arten von Benutzern in die richtige Richtung:

  • brandneue Administratoren
  • Personen, die ein Forum wiederherstellen
  • Tester, die keine SMTP-Einrichtung wünschen.