I was on the same boat few months ago. Went for Debian OS and then docker containers for almost all services. Portainer is awesome web UI to manage all containers so thats what I install first. Starting up new services is about copy paste docker-compose with slight modifications for your needs. My server is accessible through wireguard connection and that should be one of the most secure ways and probably the easiest to setup afaik (downside of wireguard is that you have to setup each device to allow connection - AKA scanning qr code)
Just saying what I did, most people here are more experienced and Im still learning.
GL and HF