I've been using the ufw firewall on my machine 'for security purposes'. Turns out this was blocking connections from the containers to host.docker.internal and causing some Synapse tests to fail.
Frustratingly, Synapse's error messages were pretty hopeless at giving any details (ConnectingCancelledError: HostnameAddress(hostname=b'host.docker.internal', port=33145) is not particularly insightful :/).
Nevertheless, I imagine this is not an uncommon setup and so it would be nice to bring attention to this as part of the instructions for running Complement?
I didn't know what host.docker.internal is; I now see that it that it should resolve to the address of the host (although it didn't resolve in an ad-hoc container, so I'm not sure).
I'll take a crack at this; ideally once I've found the right rules to work around it rather than disabling the whole thing.