una nota adicional que se relaciona directamente con la parte de HAProxy de la configuración anterior.
Existe un comportamiento común con HAProxy + Discourse en el que reconstruir un contenedor web (por ejemplo, con ./launcher rebuild app1) devolverá brevemente respuestas de 503 Service Unavailable porque HAProxy sigue enviando tráfico a ese backend mientras se está reiniciando. Esto no es un error en Discourse en sí, sino que ocurre porque el backend no está disponible momentáneamente durante la reconstrucción.
La solución recomendada es utilizar el socket de administración de HAProxy para:
- deshabilitar el servidor en HAProxy antes de la reconstrucción, y
- volver a habilitarlo después de que finalice la reconstrucción
Esto previene esos 503 transitorios.
Existe una discusión existente en Meta que documenta este comportamiento y la explicación de la solución alternativa:
Si alguien aquí está utilizando HAProxy para reconstrucciones continuas (rolling rebuilds), ese hilo proporciona un contexto útil sobre por qué se incluyen los comandos del socket de administración en el manual de procedimientos (runbook).