They way that most projects I’ve seen that have multiple dependencies handle this is to just provide an example docker compose file. I really think that’s all you need. Personally I really don’t want an “overpackaged” solution, because that just adds bloat and takes away flexibility. I don’t need yet another proxy running, if I need to proxy access to some service, I’ll integrate it into my existing proxy.
I say it’s a necessity not from a technical standpoint (of course you can just forward random ports directly to services), but from a “doing things the right way” standpoint. Especially if you’re intending to expose services which aren’t expressly designed with internet exposure in mind, a reverse proxy is hugely important for security as far as implementing SSL and authentication