Binding of "0.0.0.0" for etherpad container leads to health-check issues with docker 25.0.5
The etherpad container binds etherpad to 0.0.0.0. The health-check included tries to query the health state of etherpad vial 'localhost'; However, with docker 25.0.5 some IPv6 related defaults changed. This means that localhost now first resolves to ::1 and the health-check fails, leading to a restart loop for the container if corresponding monitoring/enforcement is enabled.
Options are:
- Bind etherpad to a v4/v6 socket globally (
[::]) - Force the health-check to use
127.0.0.1 - Remove
::1 localhostfrom/etc/hosts - Disable ipv6 for the specific container:
sysctls:
net.ipv6.conf.all.disable_ipv6: '1'
However, the latter hard-requires using a more recent docker-compose (does not work with 1.29.2, works with v2.25.0).
This seems to be an issue with the Etherpad image, rather than BigBlueButton, and has been fixed in version 2 by using curl for the health check: https://github.com/ether/etherpad-lite/blob/fb56809e5565aca22e279e4413652d2ecfd0acaf/Dockerfile#L151-L152
While upgrading Etherpad is probably not recommended (due to compatibility with BBB), just copying the health check from the new version seems to fix the problem.