1. Get a cheap VM close to you. AWS micro works, I use Google's Compute engine. Use the public IP on your DNS. 2. Set up FRPS ( https://github.com/fatedier/frp ) on the VM, create an Nginx proxy to FRPS 3. Set up FRP clients on your home devices.
This will reverse tunnel traffic securely without setting up SSH tunnels / VPNs. Only specific local ports will be exposed.
First, as pointed out by pwg, you might have a dynamic IP address. Also, your ISP may block access to port 80, but there may be ways around that (not sure anymore).
Second, I had occasional "brown outs" that cut the power to the server, so my website would go down at weird hours a few times per week. I purchased an uninterruptable power supply, which fixed that nuisance.
Third, I had a small user base (no more than ~5 people accessing the site at any one time), so I had no problems handling the traffic.
You just need a computer to be that "server".
> Is the lack of viability a problem being imposed on us based on speed limitations from ISPs?
The largest stumbling block is that most "residential" ISP connections are also dynamic IP addresses. You have to have some way to update the IP address values associated with any domain names when your dynamic IP changes. Which usually means using one of the services that provide this "dynamic IP domain name" service.
It's not a serious option for live sites. Dyn IP, slow upload speeds and physical security are all an issue.
I would recommend duckdns as a solution for dyn ips.
I measured the cost of running a box 24/7 with ssds and an i5 6th gen cpu. Around £3 per month.
I hosted from home for many years, but moved my sites to a VPS before a big move, and for $6/month, haven't been motivate to move them back. If anything, I'd be more motivated to move to shared hosting at even lower cost and effort.