So upgraden, wenn `/var/discourse` nur `shared` enthält und kein Git-Repository ist

Liebe alle,

auf unserem Abteilungswebserver wurde von dem vorherigen Administrator eine Discourse-Instanz eingerichtet. Ich kenne mich mit Discourse nicht besonders gut aus, aber es wird ein Update benötigt, und es wird empfohlen, Folgendes auszuführen:

        cd /var/discourse
        git pull
        ./launcher rebuild app

Wenn ich jedoch in /var/discourse wechsle, sehe ich dort nur das Verzeichnis shared, und git pull schlägt entsprechend fehl (es ist kein Git-Repository). Was soll ich tun?

Sie sollten eine saubere Installation auf einer neuen VM durchführen, ein Backup erstellen und es auf die neue Installation wiederherstellen.

Wenn Ihnen diese Antwort nicht gefällt, sollten Sie die Person, die das eingerichtet hat, bitten, vorbeizukommen und es zu reparieren.

@pfaffman Was meinst du mit einer neuen VM? Ein Docker-Image für Discourse? Das Problem ist, dass ich kein Handbuch finde, wie man Discourse über Docker verwaltet.

Eine neue VM bedeutet einen neuen virtuellen Server, vorausgesetzt, Ihre Instanz läuft nicht auf dedizierter Hardware.

Wenn Sie Discourse ausgeführt haben, aber /var/discourse leer ist, handelt es sich entweder um eine sehr alte Installation oder ein nicht unterstütztes Paket.

In jedem Fall sollten Sie ein Backup erstellen, einen neuen virtuellen Server starten, die Standard-Installationsanleitungen befolgen und dann aus dem Backup wiederherstellen.

So geht’s: https://meta.discourse.org/t/discourse-official-standard-installation/142537

Das ist tatsächlich höchstwahrscheinlich der Fall. Es läuft Discourse 2.1.0 (falls das die Sache klarer macht).

Genau das ist der Punkt: Meine Instanz läuft AUF dedizierter Hardware.

Also, soweit ich verstehe, ist aktuell kein Docker beteiligt. Zumindest nicht manuell. Zumindest ist es gut zu wissen, dass es nur einen Weg gibt, es einzurichten, und dieser nur git clone und das Setup-Skript verwendet.

Was mich stört, ist, wie ich die alte Version schonend entfernen würde, da alles auf einer echten physischen Maschine stattfindet (also nichts „Virtuelles"). Ich habe das Backup erstellt, das ist einfach. Was nun?

Installieren Sie nun auf einem anderen Rechner. Eine VM ist vorzuziehen, da sich die Ressourcen leichter hochskalieren lassen. Die Systemanforderungen finden Sie in der Installationsdokumentation.

Sobald die neue Installation läuft, stellen Sie das Backup wieder her.

Um welche Art von Instanz handelt es sich? Wie stark ist sie ausgelastet? Wird sie ständig genutzt?

Oh je… das stammt aus dem späten Jahr 2018. Du solltest auf jeden Fall ein Update durchführen. Abgesehen davon, dass dir zahlreiche großartige Funktionen fehlen, gab es einige Sicherheitskorrekturen, darunter auch kritische, die du noch nicht hast.

Leider habe ich keine andere Maschine.

Danke für das Feedback, aber das wird nicht infrage gestellt: Ich versuche gerade, ein Update durchzuführen. Ich war erst seit gestern der Administrator dieser Instanz und kenne die Bedeutung von Updates.

Danke an alle für die Antworten! Ich habe den alten Mann gefragt, und er hat geholfen. Das Git-Repository befand sich aus irgendeinem Grund in /var/docker statt in /var/discourse. Von dort aus war es möglich, das Standardverfahren anzuwenden. Wir sind jetzt bei der neuesten Version (2.6), jauchze! :tada:

Aha! Das war vor langer, langer Zeit der empfohlene Ort (bevor ich vor 4 Jahren angefangen habe, Discourse zu nutzen).

Anscheinend hat meine Lösung „den Alten fragen

Ich empfehle, zur Sicherheit etwas Dokumentation zu hinterlassen:

echo "es befindet sich in /var/docker" > where-is-launcher

Das ist eine gute Idee. Oder vielleicht

 cd /var/
 ln -s /var/docker discourse

Das könnte den launcher jedoch verwirren.

Keine so gute Idee, da /var/discourse bereits existiert und shared enthält.