Les mises à niveau majeures de la base de données se produisent moins d’une fois par an. Les mises à niveau mineures de la base de données ne prennent pas très longtemps et vous pouvez reconstruire le conteneur de données, détruire et démarrer le conteneur web en quelques minutes. Il semble que certaines personnes préféreraient avoir un joli message indiquant que le site est hors service plutôt que de réduire le temps d’arrêt, donc un second conteneur est la solution.
En fait, la solution la plus simple serait peut-être d’avoir un second conteneur nginx avec un message “de retour bientôt” que vous lanceriez manuellement pendant une mise à niveau, comme
./launcher stop app
docker run nginx --name back-soon # et quelques autres choses pour voir qu'une page a été servie
./launcher bootstrap app
./launcher destroy app
docker stop back-soon
./launcher start app
Mais alors vous devez obtenir un certificat et maintenir le certificat à jour pour le conteneur back-soon, ce qui est compliqué.
EDIT : Voici le sujet de discussion canonique pour cette discussion Add an offline page to display when Discourse is rebuilding or starting up - #83 by amotl