Exibindo uma página "Em manutenção" usando nginx no "launcher rebuild app"?

Grandes atualizações de banco de dados acontecem menos de uma vez por ano. Pequenas atualizações de banco de dados não demoram muito e você pode reconstruir o contêiner de dados, destruir e iniciar o contêiner web em poucos minutos. Parece que algumas pessoas preferem ter uma mensagem bonita dizendo que o site está fora do ar em vez de reduzir o tempo de inatividade, então um segundo contêiner é o caminho a seguir.

Na verdade, talvez a solução mais fácil seja ter apenas um segundo contêiner nginx com uma mensagem de “voltamos logo” que você executaria manualmente enquanto fazia uma atualização, como

./launcher stop app
docker run nginx --name back-soon # e mais algumas coisas para ver que uma página foi servida
./launcher bootstrap app
./launcher destroy app
docker stop back-soon
./launcher start app

Mas então você tem que obter um certificado e mantê-lo atualizado para o contêiner back-soon, o que é complicado.

EDIT: Aqui está o tópico canônico para esta discussão Add an offline page to display when Discourse is rebuilding or starting up - #83 by amotl