I’m searching for a solution that don’t make me rebuild my Discourse when I install a new plugin, which cause a long downtime.
On some forum scripts (like PHPBB, FluxBB, etc…), we can install a plugin without causing a downtime.
I’m also looking for a solution to set a message when the users visits my rebuilding Discourse who says that the forum is currently in maintainance (instead of the web browser error).
The solution is to use a two-container install. This will let you build a new image while the old one keeps running. The amount of downtime is just what it takes to shutdown the old container and start the new one.
Yes, I’ve experimented with having HAproxy in front of two containers, so it should be possible to leave the old server running, crank up the new one, shut down the old one with no downtime. I’ve not yet gotten it working correctly, however.
Scusa per il necropost, ma questo post appare in alto su Google e avevo lo stesso “problema”. Richiede di smanettare all’interno del contenitore Docker, quindi non lo consiglio per l’ambiente di produzione se non sai cosa stai facendo. Passi dopo aver eseguito SSH sul tuo server: STAI ESEGUENDO OPERAZIONI NON SUPPORTATE, SENZA NESSUN TIPO DI GARANZIA!
# cd /var/discourse
# ./launcher enter app
# su discourse
$ cd /var/www/discourse/plugins
$ git clone <plugin_git_url>
$ exit
# exit
# docker restart app
C’è ancora un po’ di downtime mentre il contenitore si avvia, ma è molto più veloce di una ricostruzione completa (secondi contro minuti sul droplet DigitalOcean più piccolo).