Plex has ONE job. to play media. yet it's a F'n crap shoot if it'll do that

Right but if you’re in docker using bridge networking then Plex is advertising the local IP inside Docker (172.16.*), not your real local IP assigned to the server (10.0.0.10). Using the Custom server access URLs feature inside Plex while disabling remote access will fix that. Otherwise you need to set up the docker container to use host networking rather than bridge.

Once Plex advertises the correct IP then your external devices like the Roku will be able to access the server without specifying the server information manually in the player apps.