How to setup a home server requires knowledge of port forwarding
Port forwarding is a router configuration that redirects incoming internet traffic from a public IP address and port to a specific private IP address and port on a device within your local network, enabling external access to services like online games, security cameras, and remote desktops. You configure port forwarding by logging into your router, finding the port forwarding or virtual server section, and creating a rule that specifies the external port, protocol (like TCP or UDP), and the internal IP address and port of the device you want to connect to.
How it Works
External Request: A user outside your private network wants to connect to a device inside.
Router Receives Request: The request first hits your router.
Router Checks Configuration: The router checks its port forwarding rules to see if there's a match for the incoming traffic's port and protocol.
Traffic Forwarded: If a rule exists, the router forwards the traffic to the specified internal IP address and port on the target device.
This video explains the basic concept of port forwarding and how it works with your router:
If you have a Router that allows port forwarding (Verizon, ATT, Google Fiber ISPs) this allows you to configure your computer to act as a server
and allows you to go from localhost to the World Wide Web or build an Internet Server. The benefit is unlimited cloud hosting disk space.
Alternatively you can go with Google Cloud or Bluehost to get cheap web hosting.
LLVM Clang Compiler to make it interchangeable with Swift