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.
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:
Neue Produktionsinstallation
Sollte ./discourse-setup ausführen, um app.yml aus standalone.yml zu generieren.
Schnelles Testforum ohne ausgehende E-Mails
Manchmal möchten Benutzer einfach ein lokales/Test-Discourse hochfahren, ohne SMTP zu konfigurieren.
Der übliche Workflow ist:
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: