I dont know about caddy but nginx proxy manager does this very well. Also, if running in docker, you can expose the port that runs ssh for forgejo und a different port than the host machine‘s (eg 2222). In that case you just put the remote in with the port and call it a day.
Sounds like you dont have much data in your area. Organic maps draws from openstreetmap iirc, the same as apple maps i believe. That would be something you can work on.