I'm using Caddy (sometimes in a container or most of the time as system package) as reverse proxy mostly for containers
I try to minimize non-container services but they work well with Caddy too
Traefik is a tad more complex (still nowhere near Apache2 levels though) but scales more easily espcially if you only run containers and start/stop them programatically