Rebuild läuft in einer Schleife

Hallo, entschuldigen Sie im Voraus, da ich relativ neu bei Discourse bin.

Wenn ich in das Verzeichnis /var/discourse/ gehe, um ./launcher rebuild app auszuführen, erhalte ich die untenstehende Schleife.

Bisher ist die GUI in Ordnung und ich kann dort Updates ausführen.

Ich habe ein paar Google-Suchen durchgeführt und diesen Thread gefunden, der eine Lösung beschreibt. Meine Frage ist, ob ich auch die Befehle git stash und git pull verwenden kann, um mein Problem mit der Befehlszeile zu lösen?

Ensuring launcher is up to date

Updating Launcher…

Updating a1d8d0b..69d7558

error: Your local changes to the following files would be overwritten by merge:

templates/web.ssl.template.yml

Please commit your changes or stash them before you merge.

Aborting

failed to update

Launcher updated, restarting…

x86_64 arch detected.

Ensuring launcher is up to date

Updating Launcher…

Updating a1d8d0b..69d7558

error: Your local changes to the following files would be overwritten by merge:

templates/web.ssl.template.yml

Please commit your changes or stash them before you merge.

Aborting

failed to update

Launcher updated, restarting…

2 „Gefällt mir“

Benennen Sie template/web.ssl.template.yml in einen anderen Namen um (templates/my-web.ssl.template.yml) und verwenden Sie diesen im Abschnitt templates: von containers/app.yml.

Stellen Sie den ursprünglichen Inhalt mit wieder her

git restore templates/web.ssl.template.yml
4 „Gefällt mir“

Und (wahrscheinlich) eine bessere langfristige Lösung wäre, entweder diese Änderungen zu Ihrer app.yml hinzuzufügen oder Ihre Vorlage außerhalb des /var/discourse-Verzeichnisses zu platzieren.

3 „Gefällt mir“

Vielen Dank, ich habe diese Datei tatsächlich geändert, um ein zusätzliches Client-Zertifikat für zusätzliche Verschlüsselung zwischen dem Server und Cloudflare hinzuzufügen.

Wenn ich dem Verfahren zur Wiederherstellung der Datei template.yml folge, werde ich einen Rebuild durchführen, um zu sehen, ob dies mein Schleifenproblem löst. Kann ich dann die gleichen Änderungen noch einmal ohne zu viele Probleme vornehmen? Oder wird dies irgendwann in der Zukunft passieren und ich müsste das gleiche Verfahren durchführen?

Ich habe meine ursprüngliche Vorlage als .bak gespeichert, sodass ich die Änderung betrachten konnte.

1 „Gefällt mir“

Ah, danke, ich glaube, Sie haben meine Folgefrage bereits beantwortet!

1 „Gefällt mir“

So ziemlich. :slight_smile:

Hier ist ein weiterer Hinweis:

Nun, das ist kein so guter Hinweis, wie ich gehofft hatte. . .. Schauen Sie sich die Änderungen an, die in Setup Multisite Configuration with Let's Encrypt and no Reverse Proxy vorgenommen werden.

3 „Gefällt mir“

So wie ich jetzt bin, glaube ich nicht, dass ich das alleine lösen kann. Ich habe die Anweisungen für eine Standardinstallation von DigitalOcean befolgt.

Mein ursprünglicher Gedankengang war, die Datei app.yml zu studieren, was mich zunächst zur Datei web.ssl.template.yml führte.

Ich wollte eine Cloudflare-CRT-Datei für zusätzliche Sicherheit einbinden.

Ich habe die Datei web.ssl.template.yml durchgesehen und diesen Abschnitt geändert:

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

   ssl_certificate /shared/ssl/ssl.crt;
   ssl_certificate_key /shared/ssl/ssl.key;
    ssl_client_certificate /shared/ssl/cloudflare.crt;
    ssl_verify_client on;

   ssl_session_tickets off;
   ssl_session_timeout 1d;
   ssl_session_cache shared:SSL:1m;

Ich habe die Datei cloudflare.crt in das Verzeichnis /var/discourse/shared/standalone/ssl kopiert und soweit ich das beurteilen konnte, hat alles wie beabsichtigt funktioniert.

Gibt es eine Ressource, auf die ich verweisen kann, um das Gleiche mit Änderungen an der Datei app.yml zu tun?

Die meisten Leute verwenden keine benutzerdefinierten Zertifikate mehr. Ich bin mir nicht sicher, ob es einen guten Grund gibt, das zu tun, wonach Sie fragen, aber Sie können Allow SSL / HTTPS for your Discourse Docker setup einsehen.

Ich glaube, Sie möchten nur die orangefarbene Wolke ausschalten, ein Let’s Encrypt-Zertifikat erhalten und die orangefarbene Wolke wieder einschalten. Sie möchten auch die Cloudflare-Vorlage verwenden.

Siehe Using Discourse with Cloudflare: Best Practices

1 „Gefällt mir“

Hm. Ich sehe keine Bedenken gegen die Verwendung eigener Dateien im templates-Verzeichnis, solange ihre Namen nicht mit den von Discourse bereitgestellten Vorlagen kollidieren. Ich finde es zum Beispiel eine praktische Möglichkeit, Konfigurationsstücke zwischen Staging- und Produktionsservern zu teilen.

3 „Gefällt mir“

Vielen Dank an @thoka und @pfaffman für Ihre Zeit und Ihre Antworten.

Ich habe inzwischen den git restore durchgeführt.

Da Jay darauf hingewiesen hat, dass Leute keine benutzerdefinierten Zertifikate mehr verwenden, sehe ich zu diesem Zeitpunkt auch keinen dringenden Bedarf dafür.

Ich habe erneut ./launcher rebuild app ausgeführt und der Launcher lief ohne Probleme.

Nebenbei bemerkt: Ich habe lediglich die Cloudflare-Vorlage am Ende von app.yml wie angewiesen eingefügt, aber der Launcher meldete einen Syntaxfehler. Ich habe sie entfernt und alles ist in Ordnung. Ich hatte nie Probleme mit Cloudflare ohne die Cloudflare-Vorlage, also mache ich einfach weiter so.

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.