Stephen gives a pretty good overview of a healthy and relatively secure way of doing this. There are simpler way, and more complicated ways too!
The main issue is your computer is set up to only receive data from the internet that its already requested. Cold calls, if you will, are all refused.
The simplest way to get access is go into your router management UI via a web browser.
- You need to set an IP reservation for your WebODM machine, so it always has the same internal IP address.
- Then you set up a port forward rule to the WebODM machine.
- To get access to WebODM then you could forward port 80 (http) to 192.168.0.xxx:8000. If you find your external IP address and type that into a browser then your WebODM welcome page should come up. This method is a kind of a fudge, ok for short periods of time. Maybe use it as a proof before going onto point 4
- Change your port forward to forward port 80 to port 80 on your WebODM machine, and do the same for ports 20 & 443.
- follow Stephens advice from point 2 onwards.
Another option is to set up a service like Ngrok, which uses a program on your WebODM machine to bypass any need for port forwarding at your router.
I wrote a guide here, if its any help https://community.opendronemap.org/t/link-webodm-to-the-internet-ngrok/1815
Just to confuse things, my initial advice & Stephen’s advice wont quite help if you want to get access to another service that has a web interface, say like Piero’s DroneDB, on the same PC. In that case you’d to set up multiple Ngrok tunnels or dabble with reverse proxy in a web server like Nginx.
I’ve struggled with reverse proxies so would happily settle for Ngrok.