I’m using one compose file per project (I’m not saying container, because sometimes one project contains few containers). And I don’t have any problems with ports, all ports are noted in one md file in my docs ¯\_(ツ)_/¯
KISS - it’s not worth to overcomplicate simple things.
