Der Befehl im Ordner /var/discourse ist nicht selbsterklärend

Ich musste die Konfiguration ein paar Mal ändern und neu laden, um den Mail-Dienst von Siteground zu troubleshooten. Es gibt zahlreiche Ratschläge, wie man das am schnellsten macht.
Eine Zusammenfassung aller dieser Tipps führt jedoch eher zu Verwirrung.
Könntest du mir daher die Unterschiede zwischen den unten aufgeführten Befehlen genauer erklären?

Die Informationen im Installationsleitfaden und in den Beiträgen dieses Forums sind teilweise inkonsistent. Es ist nicht vollständig klar, was beispielsweise der Unterschied zwischen dem Initialisieren und dem Erstellen eines Containers ist.
Es sollte eine Eskalationsleiter geben, die angibt, welche Aktion welchen Befehl erfordert, wenn man z. B. die app.yml ändert. Manche sagen, start reicht aus, andere behaupten, man müsse rebuild ausführen oder zusätzlich ./discourse-setup nutzen.

Befehle:
    start:      Einen Container starten/initialisieren
    stop:       Einen laufenden Container stoppen
    restart:    Einen Container neu starten
    destroy:    Einen Container stoppen und entfernen
    bootstrap:  Einen Container basierend auf einer Vorlage für die Konfiguration initialisieren
    rebuild:    Einen Container neu erstellen (alten zerstören, bootstrap, neuen starten)

Ich sammle langsam den Eindruck, dass alle Befehle eine aufeinanderfolgende Abfolge von Aktionen darstellen.
Jeder nachfolgende Schritt/Befehl führt dasselbe aus wie sein Vorgänger, plus zusätzliche Schritte.

Zum Beispiel so etwas wie:

  1. Starten

    1. bootstrap: Alten zerstören + Einen Container basierend auf einer Vorlage für die Konfiguration initialisieren
    2. rebuild: bootstrap + Einen Container neu erstellen (neuen starten), d. h. es werden Dinge wie das Herunterladen der neuesten Softwareversionen und das Anwenden aktualisierter Konfigurationen durchgeführt
    3. start: Initialisieren, was auch immer das bedeutet
  2. Stoppen

    1. stop: Einen laufenden Container stoppen
    2. restart: Einen Container neu starten (inkl. Stoppen)
    3. destroy: Einen Container stoppen und entfernen
2 „Gefällt mir“

I am not sure I am following here… can you make a PR with your proposed change?

1 „Gefällt mir“

I going to do a PR on GitHub but I need to understand each command in detail what is currently not the case.

Could you tell me, what each command triggers? I’ve read many posts in this regard but the information is not consistence.
A good example is start. Once it is said it is just used to stop and start the container if e.g. doing something on the host. In another topic it is mentioned that it initializes a container, whatever initialize means :confused:

Initialize means that if no container exists it will be created. If you stop and start, you’ll stop and start the same container with the same parameters (like smtp and other env settings), but if you destroy first, a new container with new env settings will be created, or initialized.

1 „Gefällt mir“

what is the difference between bootstrap and start if no container exits?

Bootstrap builds a new docker image,which is necessary to be able to “initialize” a running container.

Rebuild will always work. Sometimes it’s unnecessary, as a destroy and start is enough to make env settings (like smtp) take effect. But lots of people won’t really understand these intricacies, so it’s better to just tell them to always rebuild because it always works.

3 „Gefällt mir“

so ./discourse-setup is the least invasive command as it only recreates discourse’s software.

  1. Bootstrap from very scratch, begins with docker image
  2. start, from scratch, builds a container
  3. ./discourse-setup, runs discourse’s setup

what command is available to reapply config as

  1. defined in app.yml?
  2. referenced in app.yml?

assuming app.yml is the source of anything, so ./discourse-setup reads only this file to do its job.

If you need to know what each command does exactly you can read it here: discourse_docker/launcher at master · discourse/discourse_docker · GitHub

3 „Gefällt mir“

thanks that helps :slight_smile:
There is once mentioned setup, is it related to ./discourse-setup?

1 „Gefällt mir“

Dies ist jetzt etwas vollständiger:

Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Befehle:
    start:       Container starten/initialisieren
    stop:        Einen laufenden Container stoppen
    restart:     Container neu starten
    destroy:     Container stoppen und entfernen
    enter:       Eine Shell öffnen, um Befehle innerhalb des Containers auszuführen
    logs:        Docker-Logs für einen Container anzeigen
    bootstrap:   Einen Container für die Konfiguration basierend auf einer Vorlage erstellen
    run:         Führt den angegebenen Befehl mit der Konfiguration im Kontext des zuletzt erstellten Images aus
    rebuild:     Container neu erstellen (alten entfernen, neu erstellen, neuen starten)
    cleanup:     Alle Container entfernen, die länger als 24 Stunden gestoppt waren
    start-cmd:   Generiert den Docker-Befehl zum Starten des Containers

Optionen:
    --skip-prereqs             Launcher-Voraussetzungen nicht prüfen
    --docker-args              Zusätzliche Argumente, die beim Ausführen von Docker übergeben werden
    --skip-mac-address         Keine MAC-Adresse zuweisen
    --run-image                Das für die Ausführung des Containers verwendete Image überschreiben
root@monstera:/var/discourse#
2 „Gefällt mir“

Dieses Thema wurde nach 12 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.