Floating tags node:22-alpine and nginx:1.27-alpine let upstream
swap image contents without review. Pin both FROM lines to their
current digest per the supply-chain policy, keeping the tag as
a trailing comment for readability.
Dockerfile implements multi-stage build: node:22-alpine for build
stage, nginx:1.27-alpine for production runtime. nginx.conf provides
SPA routing with gzip compression and cache headers. docker-compose.yml
prepared for Tower Traefik integration with external network and Host
route. All files match specification verbatim.