listen-ipv6.sh writes "listen [::]:8080;" and then looked for "listen [::]:8080" with one space, so the check never matched. A new container was fine; restarting the same one (a reboot, docker restart, or an installer that stops and starts the stack) added a second listener, and nginx refused the duplicate and restarted in a loop. The check now allows any number of spaces. docker/listen-ipv6.test.sh runs the script on nginx.conf three times and checks for one IPv6 listener; CI runs it. Claude-Session: https://claude.ai/code/session_01Y2F7CWRXorttf5sjSbxwpj