diff --git a/docker-compose.yaml b/docker-compose.yaml index 603eb90..05bba2f 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -278,6 +278,11 @@ services: - '39010' labels: - traefik.enable=true + # O Traefik do Coolify vive na rede `coolify`. Como o container fica em DUAS + # redes (a do recurso + a do proxy), sem esta dica ele não sabe por qual IP + # falar, ignora o container e o roteador fica sem servidor — é o "503 no + # available server" com os containers todos saudáveis. + - traefik.docker.network=coolify # Hosts vêm de WEB_DOMAIN/ADMIN_DOMAIN (mesmas variáveis do PREVIEW_ALLOWED_HOSTS e # do CORS): domínio hardcoded aqui deixou o /api fora do ar na troca de endereço — # o Traefik mandava /api para o `web`, que respondia 403 do vite preview. @@ -315,6 +320,11 @@ services: # tela do Coolify, os dois podiam divergir — e divergiram: a tela tinha # `rastro.cfi…`, a variável `rastrobr.cfi…`, resultado 403 num nome e 503 no outro. - traefik.enable=true + # O Traefik do Coolify vive na rede `coolify`. Como o container fica em DUAS + # redes (a do recurso + a do proxy), sem esta dica ele não sabe por qual IP + # falar, ignora o container e o roteador fica sem servidor — é o "503 no + # available server" com os containers todos saudáveis. + - traefik.docker.network=coolify - 'traefik.http.routers.rastroweb.rule=Host(`${WEB_DOMAIN}`)' - traefik.http.routers.rastroweb.entryPoints=https - traefik.http.routers.rastroweb.tls=true @@ -338,6 +348,11 @@ services: - '39020' labels: - traefik.enable=true + # O Traefik do Coolify vive na rede `coolify`. Como o container fica em DUAS + # redes (a do recurso + a do proxy), sem esta dica ele não sabe por qual IP + # falar, ignora o container e o roteador fica sem servidor — é o "503 no + # available server" com os containers todos saudáveis. + - traefik.docker.network=coolify - 'traefik.http.routers.rastroadmin.rule=Host(`${ADMIN_DOMAIN}`)' - traefik.http.routers.rastroadmin.entryPoints=https - traefik.http.routers.rastroadmin.tls=true @@ -360,6 +375,11 @@ services: - '39030' labels: - traefik.enable=true + # O Traefik do Coolify vive na rede `coolify`. Como o container fica em DUAS + # redes (a do recurso + a do proxy), sem esta dica ele não sabe por qual IP + # falar, ignora o container e o roteador fica sem servidor — é o "503 no + # available server" com os containers todos saudáveis. + - traefik.docker.network=coolify # Sem PathPrefix e com prioridade baixa: este roteador pega tudo o que sobra no # domínio do Campo. O /api do mesmo domínio tem prioridade 1000 no backend e # ganha dele — a ordem importa, não a ordem de escrita. diff --git a/docker-compose.yml b/docker-compose.yml index 603eb90..05bba2f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -278,6 +278,11 @@ services: - '39010' labels: - traefik.enable=true + # O Traefik do Coolify vive na rede `coolify`. Como o container fica em DUAS + # redes (a do recurso + a do proxy), sem esta dica ele não sabe por qual IP + # falar, ignora o container e o roteador fica sem servidor — é o "503 no + # available server" com os containers todos saudáveis. + - traefik.docker.network=coolify # Hosts vêm de WEB_DOMAIN/ADMIN_DOMAIN (mesmas variáveis do PREVIEW_ALLOWED_HOSTS e # do CORS): domínio hardcoded aqui deixou o /api fora do ar na troca de endereço — # o Traefik mandava /api para o `web`, que respondia 403 do vite preview. @@ -315,6 +320,11 @@ services: # tela do Coolify, os dois podiam divergir — e divergiram: a tela tinha # `rastro.cfi…`, a variável `rastrobr.cfi…`, resultado 403 num nome e 503 no outro. - traefik.enable=true + # O Traefik do Coolify vive na rede `coolify`. Como o container fica em DUAS + # redes (a do recurso + a do proxy), sem esta dica ele não sabe por qual IP + # falar, ignora o container e o roteador fica sem servidor — é o "503 no + # available server" com os containers todos saudáveis. + - traefik.docker.network=coolify - 'traefik.http.routers.rastroweb.rule=Host(`${WEB_DOMAIN}`)' - traefik.http.routers.rastroweb.entryPoints=https - traefik.http.routers.rastroweb.tls=true @@ -338,6 +348,11 @@ services: - '39020' labels: - traefik.enable=true + # O Traefik do Coolify vive na rede `coolify`. Como o container fica em DUAS + # redes (a do recurso + a do proxy), sem esta dica ele não sabe por qual IP + # falar, ignora o container e o roteador fica sem servidor — é o "503 no + # available server" com os containers todos saudáveis. + - traefik.docker.network=coolify - 'traefik.http.routers.rastroadmin.rule=Host(`${ADMIN_DOMAIN}`)' - traefik.http.routers.rastroadmin.entryPoints=https - traefik.http.routers.rastroadmin.tls=true @@ -360,6 +375,11 @@ services: - '39030' labels: - traefik.enable=true + # O Traefik do Coolify vive na rede `coolify`. Como o container fica em DUAS + # redes (a do recurso + a do proxy), sem esta dica ele não sabe por qual IP + # falar, ignora o container e o roteador fica sem servidor — é o "503 no + # available server" com os containers todos saudáveis. + - traefik.docker.network=coolify # Sem PathPrefix e com prioridade baixa: este roteador pega tudo o que sobra no # domínio do Campo. O /api do mesmo domínio tem prioridade 1000 no backend e # ganha dele — a ordem importa, não a ordem de escrita.