Contrairement aux anciennes plateformes de forum (vBulletin, phpBB), Discourse n’est pas une collection de scripts côté serveur (php) et d’une base de données séparée.
Discourse comprend deux moitiés : un backend qui se trouve dans Docker, et une application javascript monopage qui est servie à l’appareil client.
Tout ce qui nécessite une modification du backend aura un impact sur le conteneur Docker, ce qui, dans les installations les plus basiques, nécessite une courte période d’indisponibilité. C’est ce que les gens veulent dire lorsqu’ils disent que l’application doit être reconstruite. Le fichier de configuration (un document yml) qui contrôle la façon dont le conteneur est construit doit être modifié, puis une reconstruction est émise au lanceur via SSH. L’installation de plugins nécessite une reconstruction, tandis que les modifications simples du SMTP s’apparentent davantage à un redémarrage.
L’introduction de nouveaux thèmes et composants de thème sont des modifications de frontend effectuées dans l’application web en cours d’exécution. Elles n’entraînent aucune interruption de service car l’application et la base de données sous-jacentes restent inchangées.