Was man vor dem Upgrade von v3.4.0 auf v2026.7.2 wissen sollte

Ich bin für eine auf Docker basierende Discourse-Installation auf Ubuntu verantwortlich, die ich im Rahmen eines Open-Source-Projekts übernommen habe. Seit Jahren habe ich sie über git pull && ./launcher rebuild app und anschließend über die Admin-Oberfläche unter /admin/update aktualisiert. Nach einer schmerzhaften Erfahrung während eines brechenden Upgrades aufgrund von docker_manager im Januar 2024 (siehe die Kommentare zum Commit hier und den zurückgenommenen Commit hier) habe ich es aber gelassen, so beiläufig zu aktualisieren.

Es sind nun 2,5 Jahre vergangen, und ich muss wieder in den Takt der Aktualisierungen finden, aber nach dem letzten kaputten Upgrade bin ich noch etwas nervös. Ich bräuchte Hilfe, um zu verstehen, was ich wissen sollte, bevor ich versuche, von v3.4.0 auf v2026.7.2 zu aktualisieren. Unsere Seite verwendet keine zusätzlichen Plugins, und die einzige mir bekannte Sonderkonfiguration ist, dass wir eine Discourse-Connect-URL verwenden, um SSO mit unserer Hauptcommunity-Seite zu haben.

Ist es so einfach wie?

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

Und dann die Aktualisierung über die Admin-Oberfläche? Gibt es bei der Aktualisierung von v3.4.0 auf v2026.7.2 Zwischenstufen, die ich beachten muss?

Vielen Dank,

Cory

Oder … (falls du nervös bist) … erstelle ein Backup (das solltest du ohnehin tun) und richte einen komplett neuen Server ein, auf den du das Backup wiederherstellst. Danach kannst du die Domain auf den neuen Server umleiten.

Das eine große Thema, auf das du stoßen wirst, ist der große Postgres-Update auf Version 18. Wenn du einen neuen Server aufbaust, musst du dich nicht mit diesem Update-Prozess herumschlagen.

Darüber hinaus besteht ein kleines Risiko, dass Plugins oder Theme-Komponenten, auf die du dich verlässt, nicht mehr gewartet werden, insbesondere wenn sie von weniger aktiven Drittanbietern stammen.

Genau aus Nervosität nutzen erfahrene Discourse-Systemadministratoren eine Zwei-Container-Konfiguration, damit sie Updates vor dem endgültigen Abschluss testen können (wobei das bei einem großen Postgres-Update weniger hilft, aber solche Updates kommen selten vor).