So. I think I figured out what the issue was here - I don't think there's anything explicitly wrong with Snoopy's Docker template (though it is a bit out of date, and I think I'm going to dig in to seeing how to get emoncms to run on PHP 8). The issue was... I created the MySQL user incorrectly. The user needs scoped to more than just localhost. Primary way to determine if this is your issue is if the error message you get from emoncms/PHP includes a Docker IP (starts with 172) that doesn't correspond to any of your other Docker containers (still don't 100% understand where the IP came from). Once I setup the user correctly, the emoncms web UI showed up and I was able to log in.
That being said. I've also created my own emoncms app in CA, the difference from Snoopy's is that it's fully standalone and does not include MQTT. I think the version of emoncms used is newer, but it might also be a far larger Docker image (might be better if I find a production-optimized version of emoncms - their docker is used as a devbox). Anywho, search for emoncms in CA and mine will show up next to Snoopy's if you're interested.
Thank you for your work on this container, Snoopy. Yours was an excellent guide to work off of (I've never used emoncms prior to this, so your work was crucial to me!)