In my opinion, you should use docker (docker compose). You can install and uninstall your services as many times as you want, without loosing info or configs, and without messing with your os with dependencies. I think almost any Linux distribution will do. I use Ubuntu server, but yeah, whatever works for you, if you're using docker it shouldnt matter.
If you go that way, I'd recommend linuxserver.io docker stuff. They're awesome, with good docs, and easy to follow. Pretty straightforward.
I'd also recommend to use something like nginx proxy manager if you're going to open to the Web, and have a reverse proxy.
About cloudflare , I've heard that it's against their tos to stream copyrighted media stuff. I haven't used it, so I can't be clear about it, someone else could help you more in that subject.