You will need to pass through the traffic coming in to your public IP to the server.
This is done via port forwarding and has to be configured on your router/firewall.
Usually you want to limit this as much as possible, so only open the necessary ports (80 and 443 for http and https).
Since you are opening your network to a certain degree to the internet, you should take precautions. One common way is to isolate the publicly available servers in a separate network. A lot of times this is called a DMZ (demilitarized zone).
How you can do that depends heavily on the router/firewall and further network setup. The easiest would be if your router has, or can be configured to have one network port dedicated for the DMZ network. You can then connect the machines that should be available to that port.
If there is PVE involved you can use an unused port of the server for this to connect the PVE server to the DMZ port on the router. Then create a new vmbr
on that network interface. You con't need to assign an IP address as the PVE node itself (GUI, API, ....) does not need to be available in that network. Then in the NIC settings of the VM you can change the used vmbr
to the one for the DMZ.
If you cannot use a dedicated cable, you could check if VLANs work. But I don't recommend it if you are just starting out setting up more complicated networks. All steps involved need to support it (router, switch, ....) and it has to be configured correctly for it to work.