How to Expose a Server to the Internet
Manually exposing a server to the internet on a custom domain is more daunting that it sounds.
Option A: Expose to the internet
This option uses a reverse proxy with authentications and is generally only as secure as your password. Though you can setup 2FA as well (there are even self-hosted options!)
Checklist
- [ ] Port forwarding on router (80 for HTTP, and 443 for HTTPS)
- [ ] A reverse proxy to route traffic to your service(s)
- [ ] A DNS entry of type A that points to your ISP provided IPv4 address
- [ ] A server running your host machine
Option B: Expose to your VPN devices
This option only exposes your home server to devices connected over your VPN network. Tools like Tailscale are a great option for this sort of setup.