Mehrere Subdomain-Instanzen von Discourse auf derselben Domain?

Hallo,

ich versuche, zwei separate Discourse-Foren (einschließlich Benutzer, Themen, Kategorien usw.) einzurichten. Wenn ich jedoch eine neue Instanz erstelle und versuche, sie mit derselben Domain, aber einem anderen Subdomain zu hosten, wird meine aktuelle Discourse-Instanz unzugänglich.

Beispielsweise: Wenn meine aktuelle Discourse-Instanz unter discourse.example.com läuft und ich versuche, eine zweite Instanz unter discourse2.example.com zu starten, hört die bestehende Instanz auf zu funktionieren, und unter der zweiten URL wird nichts angezeigt. Wenn ich jedoch die erste Discourse-Instanz unter discourse.example.com neu aufsetze, wird meine erste Instanz wiederhergestellt.

Während der Einrichtung waren alle Einstellungen identisch mit denen der ersten Instanz, außer dem Discourse-Hostname. Kann mir jemand erklären, warum dies geschieht und wie ich eine frische Instanz für discourse2.example.com einrichten kann?

1 „Gefällt mir“

Hast du dich bereits mit

Setup Multisite Configuration with Let's Encrypt and no Reverse Proxy

beschäftigt?

4 „Gefällt mir“

Oder alternativ unter

wobei es sich in diesem speziellen Fall bei der anderen Website um Discourse handelt.

4 „Gefällt mir“

Vielen Dank für eure Vorschläge, zusammen! Ich konnte mit einer Kombination aus diesen beiden Websites eine zweite Discourse-Instanz einrichten:

  1. Run other websites on the same machine as Discourse (Angus’ Antwort war besonders hilfreich)
  2. https://chowdri.medium.com/how-to-install-multiple-discourse-on-one-server-150db95602bb

Obwohl beide Websites einen sehr ähnlichen Ablauf beschreiben, dient die zweite als benutzerfreundlichere Ergänzung zum ersten Link. Ich empfehle dringend, dass alle, die dasselbe vorhaben, beide Artikel während der Einrichtung ihres Systems lesen.

Derzeit ist meine zweite Discourse-Instanz als „unsicher

2 „Gefällt mir“

Warum probierst du es nicht mit @pfaffmans Tutorial aus (das @itsbhanusharma oben geteilt hat)? Damit werden nur die Zertifikate verwaltet. Ich habe es mittlerweile ein paar Mal befolgt und bin immer noch beeindruckt, wie sehr es die Sache vereinfacht!

Um ehrlich zu sein, hat es einen Nachteil: Man wird gierig und startet für jede noch so kleine Aufgabe eine zusätzliche Instanz… Ich glaube, ich bin jetzt bei sieben und brauche noch mehr :grinning_face_with_smiling_eyes:

4 „Gefällt mir“

Vielen Dank für den Vorschlag. Ich versuche es gerade, habe aber bei einigen Punkten im Leitfaden Schwierigkeiten:

  1. Ich kann das Datenbankpasswort nicht finden (oder wofür es in der Datei überhaupt verwendet wird).

  2. Meine app.yml-Datei enthielt ursprünglich keinen after_postgres-Abschnitt, daher habe ich einen unter hooks hinzugefügt, um ihn mit den anderen (after_ssl, after_db_migrate usw.) abzugleichen. Falls dieser in einem falschen Abschnitt steht, lass es mich bitte wissen. Ich bin völlig neu in der Arbeit mit dieser Art von Dingen.

  3. Wenn ich die Syntax der YAML-Datei auf http://www.yamllint.com/ überprüfe, erhalte ich die Fehlermeldung (<unknown>): did not find expected key while parsing a block mapping in der Zeile, in der ich den after_postgres-Abschnitt unter den hooks-Abschnitt gesetzt habe.

Wenn du die Schritte erläutern könntest, die du @manuel beim Befolgen des oben genannten Leitfadens durchgeführt hast, wäre das sehr hilfreich.

2 „Gefällt mir“

Ich habe das eigentlich immer für ein Zwei-Container-Setup gemacht, und das funktioniert dafür einwandfrei. Das lässt sich leicht erreichen, indem du Discourse mit ./discourse-setup --two-container installierst und dann sowohl web_only.yml als auch data.yml anpasst.

Wenn du es erneut mit nur einem Container versuchen möchtest, die Schritte dafür aber unklar sind, ist es vielleicht am besten, im entsprechenden Thema zu posten und deine Probleme zu schildern. Ich selbst habe nämlich keine Ahnung, wie diese Dateien funktionieren … deshalb freue ich mich so sehr über diesen einfachen Ansatz, und ich kann endlich mehrere Instanzen für die Entwicklung hochfahren. Etwas, das für die Entwicklung auch wirklich praktisch ist, ist, dass deine Plugins bereits auf jeder zusätzlichen Instanz installiert sind.

Zur Syntaxfehler-Frage: Hast du für die Einrückung ein Tabulatorzeichen verwendet? Das ist extrem pingibel, was die Formatierung angeht.

2 „Gefällt mir“

Nein, ich habe keine Tabs verwendet, und ich bin mir ziemlich sicher, dass das Kopieren und Einfügen aus der Anleitung keine eingefügt hat (obwohl ich nur einen kurzen Check gemacht habe). Ich würde gerne vermeiden, eine Zwei-Container-Konfiguration einzurichten, falls möglich, daher werde ich einen Beitrag in der Anleitung verfassen und um Hilfe bitten. Vielen Dank für deine Unterstützung!

2 „Gefällt mir“