Files
esh-pfi-infrastructure/stacks/phasefinal-web/conf/traefik-dynamic-phasefinal-web.yml
T
vh 7ffbee6f09 feat(phasefinal-web): corporate site stack on ana-docker
Single static page (nginx) fronted by Traefik at www.phasefinal.com, built
from the design brief. Site markup/CSS checked in verbatim from the design
session; fonts self-hosted (SIL OFL) with the @font-face block uncommented,
which every fresh export re-comments.

Routed via a Traefik file-provider config rather than the container labels:
the docker provider on ana-docker was not registering newly-created
containers, so the file router avoids restarting shared ingress. Labels are
retained in compose so the file can be dropped once that is fixed.
2026-08-29 22:25:20 -07:00

28 lines
1.1 KiB
YAML

# 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"