I recommend docker-compose based tools, especially dockge [1]. It drastically cuts down on the surface of weird things you have to deal with. Just put up a reasonable distro (I recommend Debian here, since Fedora tends to get some SELinux issues which would confuse beginners), install docker, and run it. You don't have to touch anything else system-wise (maybe except setting up encryption when installing)
Most self-hostable services provide docke-compose files, which you can just paste in with some customizations, and run it from there.
Tailscale for external access is probably the easiest solution.