Im Gegensatz zu älteren Forenplattformen (vBulletin, phpBB) ist Discourse keine Sammlung von flachen serverseitigen Skripten (php) und einer separaten Datenbank.
Discourse besteht aus zwei Hälften: einem Backend, das in Docker läuft, und einer Single-Page-JavaScript-Anwendung, die an das Client-Gerät ausgeliefert wird.
Alles, was eine Backend-Änderung erfordert, wirkt sich auf den Docker-Container aus, was bei den grundlegendsten Installationen eine geringe Ausfallzeit erfordert. Das ist es, was die Leute meinen, wenn sie sagen, dass die App neu erstellt werden muss. Die Konfigurationsdatei (ein yml-Dokument), die steuert, wie der Container erstellt wird, muss bearbeitet und dann wird ein Rebuild über SSH an den Launcher ausgegeben. Die Installation von Plugins erfordert einen Rebuild, während einfache Änderungen an SMTP eher einem Neustart ähneln.
Die Einführung neuer Themes und Theme-Komponenten sind im Wesentlichen Frontend-Änderungen, die innerhalb der laufenden Web-App vorgenommen werden. Sie führen zu keiner Ausfallzeit, da die zugrunde liegende App und Datenbank im Wesentlichen unverändert bleiben.