Hardware is too wide to tell anything useful out of the blue, depends on what you can get your hands on (as in what's available locally) and what you actually want to run. Used corporate desktop might be fine, raspberry pi might be good too, mini-pcs are popular and so on. All have their pros and cons.
For the OS proxmox is a solid choise. It has both containers and 'full' virtual machines as an option. Debian is good too.
And for the utilities, build something you actually want to use. Pihole is pretty nice. Gaming severs are good to practise with if you're into that stuff. But if you just build stuff for the sake of it you'll of course learn on the way but it leaves very little to actually enjoy on what you've built.
I really like my immich and nextcloud servers and they're well worth my time to keep up and running. But with those there's additional challenge to keep them backed up. Losing pihole server wouldn't be that bad, it's easy enough to rebuild, but losing a terabyte of photos is a bit another thing.