Part of this is Apple’s fault. They were part of the head council of the Kronos group responsible for Vulkan, but chose to implement a proprietary graphics API (Metal) over just rolling Vulkan… Developers obviously don’t want to support an additional graphics library on top of what they already do (significant effort) so you lose a lot of games that would’ve been otherwise marginally expensive to port over.
I’d recommend against it. Apple’s software ecosystem isn’t as friendly for self hosting anything, storage is difficult to add, ram impossible, and you’ll be beholden to macOS running things inside containers until the good folks at Asahi or some other coummity startup add partial linux support.
And yes, I’ve tried this route. I ran an m1 mac mini as a home server for a while (running jellyfin and some other containers). It pretty consistently ran into software bugs (less maintained than x64 software) and every time I wanted to do an update instead of sudo whateveryourdistroships update, and a reboot, it was an entire process involving an apple account, logging into the bare metal device, and then finally running their 15-60 minute long update. Perfectly fine and acceptable for home computing, but not exactly a good experience when you’re hosting a service.