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 <noreply@anthropic.com>
This commit is contained in:
Lucas RayanandClaude Opus 5 committed 2026-09-07 16:02:11 -03:00
1 parent e30d000e43
commit e93fa19bdd
1 file changed
+7
+7
View File
@@ -305,6 +305,13 @@ services:
pull_policy: always pull_policy: always
restart: *restart restart: *restart
logging: *default-logging 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: environment:
NODE_ENV: ${NODE_ENV:-production} NODE_ENV: ${NODE_ENV:-production}
PORT: 3000 PORT: 3000