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.
I have npm as well, but I couldn’t set pihole together with it.
I mean, I can have both containers running if I change pihole ip for something different (let’s say 8081),but then I’m not able to use it as a dns server in my router.
How did you fix this? Or do you have pihole in a different computer? (ip)