A differenza delle vecchie piattaforme forum (vBulletin, phpBB), Discourse non è una raccolta di script lato server (php) separati da un database.
Discourse è composto da due metà: un backend che risiede in Docker e un’applicazione javascript a pagina singola che viene servita al dispositivo client.
Qualsiasi cosa che richieda una modifica del backend influenzerà il container Docker, il che, nelle installazioni più basilari, necessita di un breve periodo di inattività. È a questo che si riferiscono le persone quando dicono che l’app deve essere ricostruita. Il file di configurazione (un documento yml) che controlla come viene costruito il container deve essere modificato e quindi viene emessa una ricostruzione al launcher tramite SSH. L’installazione di plugin richiede una ricostruzione, mentre semplici modifiche a SMTP sono più simili a un riavvio.
L’introduzione di nuovi temi e componenti tematici sono effettivamente modifiche al frontend eseguite all’interno dell’app web in esecuzione. Non comportano tempi di inattività poiché l’app sottostante e il database rimangono effettivamente invariati.