From e93fa19bdd75e57bf37dc02440400367989c72aa Mon Sep 17 00:00:00 2001 From: Lucas Rayan Date: Mon, 7 Sep 2026 16:02:11 -0300 Subject: [PATCH] fix(compose): o web nao declarava a porta, e o proxy adivinhava mal O servico web nao tinha ports nem expose -- so a etiqueta do Traefik com loadbalancer.server.port=3000. Essa etiqueta serve os routers escritos aqui, mas o Coolify gera os seus proprios a partir dos dominios configurados, e para esses precisa de descobrir a porta. Sem expose e sem porta fixada no dominio, cai nos 80, onde nada escuta: ligacao recusada, 502 em todos os hostnames, com o contentor perfeitamente saudavel e o Coolify a reportar running:healthy. Aconteceu agora porque a migracao de servidor de 2026-09-02 recriou a aplicacao e a afinacao anterior perdeu-se. O expose deixa a porta descoberta sozinha, para nao depender de uma configuracao que vive fora do repositorio. Co-Authored-By: Claude Opus 5 --- docker-compose.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docker-compose.yaml b/docker-compose.yaml index ecc4935..2a0e2a8 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -305,6 +305,13 @@ services: pull_policy: always restart: *restart logging: *default-logging + # Declared so the proxy can discover the port on its own. Without it and + # without a port pinned on the domain, Coolify generates a Traefik service + # pointing at port 80, where nothing listens: every request ends in a 502 + # while the container is perfectly healthy. Rebuilding the app on a new + # server is exactly when that pinning gets lost. + expose: + - "3000" environment: NODE_ENV: ${NODE_ENV:-production} PORT: 3000