Exposing ports on docker-compose bypasses UFW definitions, which is a high risk, so we use internal networks only to connect between containers