It’s been a long time since I did this so I’m sure some things have changed. Having said that, I ran into several issues accessing the server from outside the house.
At the time, my cable company (Comcast) would block any incoming requests for http, ping etc. I switched to the phone company to bypass that obstacle.
Next, I had the problem of ever changing IP addresses (every time the router rebooted I would get a new IP address - this was a big deal here in south Florida). To solve this I had to use a DNS server I could access remotely and update easily. There are several services available for this plus your domain registrar.
This became so bad that I wrote some scripts to ping the router, capture the IP address and if it was different then I’d call a cURL script to login to godaddy and update my DNS settings.
Then came a time when the phone company would only assign one public IP address to a house unless you ordered a business account. That meant that my router had the only public IP address and my server was relegated to a 127.0.x.x address.
Ultimately it just became too much trouble so I plunked down a few $ per month for a hostgator account on a shared server.
So, my advice is to start with your router and see if it has a mechanism to pass http protocol requests to another device. That will be the biggest stumbling block.
There’s some other advice here.