So I am a total amateur, but i set up a TrueNas server that hosts my Plex server, then set up a linux VM to host a PiHole.
I also set up nextcloud vm on that machine too, i wanted to autobackup my phone pics and have a sync’d, shareable calendar with the family.
Nextcloud was the biggest pain in my ass and i never truely got it working as advertised. I ended up scrapping that part just because of how god-awful nextcloud was, and god forbid you try and update it to the most recent version.
I do recommend TureNAS for this, it has been fun for me to work with and i started with 0 background or experience.