Gli aggiornamenti importanti del database avvengono meno di una volta all’anno. Gli aggiornamenti minori del database non richiedono molto tempo e puoi ricostruire il container dei dati, distruggere e avviare il container web in pochissimi minuti. Sembra che alcune persone preferirebbero un bel messaggio che dica che il sito è inattivo piuttosto che ridurre i tempi di inattività, quindi un secondo container è la soluzione.
In realtà, forse la soluzione più semplice sarebbe avere un secondo container nginx con un messaggio “torneremo presto” che si esegue manualmente durante un aggiornamento, come
./launcher stop app
docker run nginx --name back-soon # e altro ancora per vedere che una pagina è stata servita
./launcher bootstrap app
./launcher destroy app
docker stop back-soon
./launcher start app
Ma poi devi ottenere un certificato e mantenerlo aggiornato per il container back-soon, il che è complicato.
EDIT: Ecco l’argomento canonico per questa discussione Add an offline page to display when Discourse is rebuilding or starting up - #83 by amotl