Repository navigation
v1.0.3 - Fix HEALTHCHECK IPv6 and Port Mapping
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
localhostto IPv6[::1]first - Symptom: Connection refused when health check runs
- Solution: Changed HEALTHCHECK to use
127.0.0.1instead oflocalhost
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:8080to 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: Use127.0.0.1:${PORT}in HEALTHCHECK wget command.github/workflows/docker-publish.yml: Change port mapping from8888:80to8888: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