¿Mostrar una página de "Mantenimiento" usando nginx en la "aplicación de reconstrucción del lanzador"?

Las actualizaciones importantes de la base de datos ocurren con menos frecuencia que una vez al año. Las actualizaciones menores de la base de datos no tardan mucho y puedes reconstruir el contenedor de datos, destruir e iniciar el contenedor web en muy pocos minutos. Parece que algunas personas preferirían tener un bonito mensaje que diga que el sitio está caído en lugar de reducir el tiempo de inactividad, por lo que un segundo contenedor es la forma de hacerlo.

En realidad, tal vez la solución más fácil sería tener un segundo contenedor nginx con un mensaje de “volvemos pronto” que ejecutarías manualmente mientras realizas una actualización, como

./launcher stop app
docker run nginx --name back-soon # y algo más para ver que se sirvió una página
./launcher bootstrap app
./launcher destroy app
docker stop back-soon
./launcher start app

Pero entonces tienes que obtener un certificado y mantener el certificado actualizado para el contenedor back-soon, lo cual es complicado.

EDITAR: Aquí está el tema canónico para esta discusión Add an offline page to display when Discourse is rebuilding or starting up - #83 by amotl