Nginx entra em loop de crash após reiniciar o container: a imagem base inclui brotli_static no discourse.conf, mas nunca carrega o módulo (diretiva desconhecida)

Resumo
Após uma reinicialização de rotina do contêiner (reinício do host / docker restart), o nginx falha ao iniciar dentro do contêiner app com a seguinte mensagem:

nginx: [emerg] unknown directive "brotli_static" in /etc/nginx/conf.d/discourse.conf:172

Isso derruba o site inteiro (sem fallback — o nginx nunca se vincula às portas 80/443) até que uma correção manual seja aplicada.

Ambiente

  • Imagem base: discourse/base:2.0.20260812-0036
  • nginx: 1.26.3-3+deb13u7 (pacote Debian 13/trixie, não compilado sob medida)
  • libnginx-mod-http-brotli-static/-filter 1.0.0~rc-6 estão instalados, e os links simbólicos em /etc/nginx/mods-enabled/*.conf (com as linhas load_module corretas) existem e apontam para arquivos .so válidos.

Causa raiz
O arquivo /etc/nginx/nginx.conf (propriedade do pacote nginx-common, inalterado) não possui a diretiva include /etc/nginx/modules-enabled/*.conf;, portanto os módulos Brotli instalados nunca são carregados — enquanto o discourse.conf (gerado pelos modelos do Discourse) ainda emite brotli_static on;, assumindo que eles estejam disponíveis.

Por que a falha não ocorre imediatamente
A configuração só é reanalisada quando o nginx realmente (re)inicia. Um contêiner recém-construído pode funcionar perfeitamente por dias/semanas até que algo reinicie o nginx (reinício do host, docker restart, OOM, etc.), momento em que ele começa a entrar em loop de falhas silenciosamente (~1×/seg) sem recuperação automática.

Solução alternativa (Workaround)
Adicione include /etc/nginx/modules-enabled/*.conf; como a primeira linha de /etc/nginx/nginx.conf (contexto principal, antes de events {}). Confirmou-se que isso restaura o sucesso do nginx -t e a operação normal.

Solicitação
A imagem base poderia (a) adicionar esse include ao seu nginx.conf, ou (b) remover brotli_static/brotli do modelo discourse.conf fornecido, caso o pacote nginx da distribuição não inclua mais suporte a Brotli por padrão?