Skip to content

v1.0.3 - Fix HEALTHCHECK IPv6 and Port Mapping

Choose a tag to compare

@denhamparry denhamparry released this 03 Dec 22:44
· 61 commits to main since this release
aab2321

Fixed

Docker HEALTHCHECK IPv6 Resolution and Port Mapping Issues

This patch release fixes two critical issues that were preventing the Docker health check from passing:

Issue #1: IPv6 Resolution Problem

  • Root cause: BusyBox wget in nginx:alpine resolves localhost to IPv6 [::1] first
  • Symptom: Connection refused when health check runs
  • Solution: Changed HEALTHCHECK to use 127.0.0.1 instead of localhost

Issue #2: Port Mapping Mismatch

  • Root cause: Workflow was mapping host port 8888 to container port 80, but nginx listens on port 8080
  • Symptom: Host-side health check fails even when container is healthy
  • Solution: Updated workflow to map 8888:8080 to match nginx configuration

Impact:

  • Health check now passes consistently in ~6 seconds
  • Both Docker internal HEALTHCHECK and host-side verification work correctly
  • Verified with local testing before deployment

Changes:

  • Dockerfile: Use 127.0.0.1:${PORT} in HEALTHCHECK wget command
  • .github/workflows/docker-publish.yml: Change port mapping from 8888:80 to 8888:8080

Testing:
Tested locally with test script that mimics workflow behavior:

  • ✅ Docker HEALTHCHECK passes (container status: healthy)
  • ✅ Host health endpoint verification succeeds
  • ✅ Homepage verification succeeds
  • ✅ All smoke tests pass

Full Changelog

v1.0.3 (2025-12-03)

  • Fixed Docker HEALTHCHECK IPv6 resolution and port mapping issues

v1.0.2 (2025-12-03)

  • Fixed Docker workflow to use native health check mechanism (#50)
  • Root cause: Docker network bridge initialization delay

v1.0.1 (2025-12-03)

  • Added health check retry logic (#47)
  • Note: Superseded by v1.0.2 root cause fix

v1.0.0 (2025-12-03)

  • Initial public release
  • MARP presentation system with Edera V2 theme
  • Docker support and Cloud Run deployment
  • Comprehensive documentation and CI/CD workflows