I was actually able to get it working by using Caddy as a reverse proxy with a domain from DuckDNS. The caddyfile wasn't nearly as scary is I initially thought it would be!
HTTPS doesn't seem to want to work though, but I'm okay with that for now. At least I don't just have to give people a bare IP address for them to connect!