fix(phasefinal-web): healthcheck targeted ::1, so traefik skipped the container
The healthcheck used http://localhost/, which resolves to ::1 in nginx:alpine while nginx listens on IPv4 only — so it never passed, the container stayed unhealthy, and Traefik silently declined to create a router for it. That presents as a broken docker provider: correct labels, right network, no route, no error. Target 127.0.0.1 explicitly and add a start_period. Adds the apex router (301 phasefinal.com -> www) and drops the file-provider workaround, which was mitigating the wrong diagnosis.
This commit is contained in:
@@ -1,27 +0,0 @@
|
||||
# Traefik file-provider router for phasefinal-web.
|
||||
#
|
||||
# DEPLOYS TO: ana-docker:/opt/docker/conf/traefik-ana/config/phasefinal-web.yml
|
||||
# (NOT /opt/docker/conf/phasefinal-web/ — the file provider watches
|
||||
# traefik-ana/config, so this file lives with Traefik, not the stack.)
|
||||
#
|
||||
# WHY A FILE ROUTER instead of container labels: as of 2026-08-29 the Traefik
|
||||
# docker provider on ana-docker was not registering newly-created containers —
|
||||
# phasefinal-web carried correct traefik.* labels, sat on traefik-net, and never
|
||||
# appeared in /api/http/routers, with no provider activity in the logs. The file
|
||||
# provider (watch: true) picks this up with no Traefik restart, so no other
|
||||
# public service is interrupted. If the docker provider is fixed, this file can
|
||||
# be deleted and the compose labels will take over.
|
||||
http:
|
||||
routers:
|
||||
phasefinal-web:
|
||||
rule: "Host(`www.phasefinal.com`)"
|
||||
service: phasefinal-web
|
||||
entryPoints:
|
||||
- websecure
|
||||
tls:
|
||||
certResolver: anaprod
|
||||
services:
|
||||
phasefinal-web:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://phasefinal-web:80"
|
||||
Reference in New Issue
Block a user