Umzug der Discourse-Instanz auf einen neuen Server

Bevor Sie fragen, haben Sie zuerst gesucht? Drücken Sie oben rechts auf :magnifying_glass_tilted_left:, um zu suchen.

Hallo,

zuerst möchte ich Ihnen für jede Unterstützung danken, die Sie anbieten können. Vor diesem Hintergrund möchte ich mein Problem und meine Ziele für meine selbst gehostete Discourse-Instanz besprechen.

Problem

Ich verwende derzeit Hetzner als meinen Server, auf dem eine Discourse-Instanz gehostet wird. Ich habe Volumes für Uploads und Backups angehängt. Die aktuellen Docker-Container und -Images sowie die app.yml usw. werden auf dem Server selbst unter /var/discourse gehostet.

Ich habe diesen Server seit 3-4+ Jahren und hatte während dieser Zeit immer wieder Probleme mit dem Speicherplatz auf dem Server selbst (nicht auf den Volumes). Jedes Mal, wenn ich die App neu erstellen oder neu starten wollte, stieß ich auf Speicherplatzprobleme, da die Images und Docker-Container auf dem lokalen Server und nicht auf einem Volume installiert wurden. Ich musste ständig Docker und alle Images/Container entfernen und eine Neuinstallation durchführen, um neu erstellen zu können. Ich glaube auch, dass die SQL-Daten auf dem lokalen Server und nicht auf einem Volume gespeichert sind.

Ziele

Ich bin mir nicht sicher, was für mich am besten ist. Soll ich bestimmte Ordner oder Dateien für die Postgres-DB und die Docker-Images auf ein neues Volume verschieben, und wenn ja, würde ich Unterstützung dabei erhalten? Oder soll ich von Grund auf neu beginnen, indem ich ein Backup des Servers erstelle und es auf einem neuen Server mit korrekt konfigurierten Volumes wiederherstelle?


Mit all dem gesagt, würde ich gerne Unterstützung bei der Konfiguration der app.yml erhalten, um Volumes für alles zu haben, was Platz beansprucht, damit ich individuell skalieren kann, wenn Backups, Uploads, DB oder Docker-Images beispielsweise benötigt werden.

Ich kann meine app.yml-Datei später heute zur Verfügung stellen, da ich derzeit bei der Arbeit bin und mich vorbereiten möchte.

Ich betreibe mein Discourse-Hosting auf AWS und hatte bisher großen Erfolg damit, /var/discourse auf einem eigenen, montierbaren EBS-Volume zu belassen und dieses Volume an verschiedene EC2-Instanzen anzuhängen, wenn ich migrieren musste. Ich habe sogar die Architektur von x64 auf ARM umgestellt (ich habe die EC2-Instanzen von einem t3a.large auf ein r7g.large umgestellt) und nach dem erneuten Anhängen des /var/discourse-Volumes war ich nach einem einfachen launcher rebuild app wieder online, selbst mit dem Architekturwechsel.

Kurz gesagt, wenn Ihr /var/discourse in einem montierbaren Volume gespeichert ist, dann haben Sie den gesamten Zustand Ihres Forums in einem praktisch schwenkbar montierbaren Zustand. Solange Sie einen Host einrichten und Docker darauf installieren können, können Sie /var/discourse daran anhängen, einen launcher rebuild app ausführen und wieder betriebsbereit sein. (Vorausgesetzt, Dinge wie der Hostname und andere in app.yml angegebene Einstellungen bleiben zwischen den Hosts konstant.)

Könnten Sie bitte ein Beispiel für app.yml für dieses Setup bereitstellen? Ist es auch so einfach wie ein Umzug des Inhalts von „/var/discourse“ auf ein anderes Volume, oder muss ich das Repository in das neue Volume klonen?


Was ist auch mit den Datenbankdateien?

Hier ist eine bereinigte Kopie meiner aktuellen Arbeitskopie von app.yml

Und alle Inhalte der DB werden in /var/discourse gespeichert? Wenn ich also alle Inhalte von /var/discourse auf ein einhängbares Volume verschiebe, werden dann weiterhin alle vorhandenen Daten verwendet?

Ich verwende die Standard-Einzelcontainer-Selbsthost-Installation, daher ist alles so eingerichtet, wie es die Standardeinstellungen sind!

Frage: Auch wenn ich den Ordner /discourse auf ein einhängbares Volume verschoben habe, habe ich immer noch Probleme mit Docker. Da Container und Images immer noch auf dem lokalen Laufwerk und nicht auf einem Volume ausgeführt werden. Irgendeine Idee, wie man das beheben kann?

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