Sei vorsichtig und nimm nicht an, dass die Weboberfläche für Updates immer funktioniert. Das Aktualisieren über die Webseite funktioniert nicht immer. Bestimmte Updates (wie sehr aktuelle Datenbankversionsupdates) erfordern einen Neuaufbau über die Kommandozeile. Das bedeutet, dass du den Server per SSH zugreifst und die Kommandozeile verwendest, um den Neuaufbau durchzuführen.
Im Gegensatz zu vielen Administratoren benutze ich in der Regel die Weboberfläche zum Aktualisieren, habe aber ein Shell-Fenster geöffnet, um das Update manuell durchzuführen, falls es erforderlich ist.
Also habe ich den gesamten Ablauf durchgegangen, mit Hilfe des Discourse-Bots, was es für mich etwas einfacher gemacht hat, da das ursprüngliche Thema „Move from standalone container to separate web and data containers“ vor 10 Jahren geschrieben wurde und ich nicht riskieren wollte, etwas zu vermurksen.
Nach einigen Fragen und vielen Notizen, die ich gemacht habe, glaube ich, dass ich die Dinge etwas besser verstehe. Meine Installation läuft, also nehme ich an, dass alles korrekt eingerichtet wurde…?
Der Bot hat mir gesagt, dass, wenn ich etwas aktualisieren möchte, das tatsächlich erfordert, dass ich mich per SSH einlogge, die Reihenfolge wie folgt sein sollte:
# this will take around 20 minutes (first time); usually 5–15 min after that
# (NOT the exact first-bootstrap time — docker caches layers on later rebuilds)
sudo ./launcher bootstrap web_only
# after successful bootstrap, run:
sudo ./launcher destroy web_only && sudo ./launcher start web_only
# occasionally, check disk space:
df -h
# and if disk space is running low due to old unused images:
sudo ./launcher cleanup
und ich bin startklar.
Das „einmal-im-Jahr“-Update ist etwas komplexer, aber ich habe auch dazu Notizen gemacht, ich muss nur diese Notizen noch organisieren, da ich sie gerade nicht brauche.
Ich bin kein Experte, andere kennen sich in diesen Angelegenheiten viel besser aus, aber… aus meiner Erfahrung heraus sollte man sich niemals darauf verlassen, dass die Aktualisierung über die Web-Oberfläche erfolgreich durchläuft. Man sollte immer bereit sein, die Wiederherstellung von der Kommandozeile aus durchzuführen. Der kürzlich durchgeführte Upgrade von PostgreSQL 15 auf 18, der hier im Detail beschrieben ist, war ein klarer Fall, in dem man weiß, dass man nicht mit der Aktualisierung über die Web-Oberfläche davonkommen wird.
Es ist nicht so schwierig. Betrachte die Aktualisierung über die Web-Oberfläche als eine Bequemlichkeit. Wenn sie funktioniert, großartig, aber sei bereit für den Fall, dass sie es nicht tut. Wenn sie nicht funktioniert, liefert sie zumindest eine aufschlussreiche Erklärung darüber, was passiert ist und wie man es beheben kann. Viele professionelle Discourse-Admins hier würden dir raten, es nicht einmal zu versuchen. Mein Forum ist klein und hat wenig Traffic, ich kann es mir leisten, ein Risiko einzugehen. Du hast diese Möglichkeit vielleicht nicht.
ich poste in letzter Zeit nicht so viel hier, aber falls du Hilfe beim Einrichten eines Dual-Container-Setups brauchst oder Fragen hast, schick mir gerne eine PN. Ich betreibe zwei separate Dual-Container-Foren hinter Cloudflare CDN mit S3-kompatiblem R2-Object-Storage. Ja, es ist etwas komplexer als ein Single-Container-Setup, aber nicht so schwierig, wie viele denken. Super leicht zu warten und mit einem Bash-Skript lässt sich das Aktualisieren sogar noch einfacher machen.