This is exactly how I have mine set up and I really like it.
I’ve got an internal and external domain with a wildcard cert so if it’s a local only service I can easily create a newservice.localurl.com, and if it’s external I can just as easily set up newservice.externalurl.com
I’m not entirely sure what you mean by userbase, but based on your description it sounds like you could set up a Wordpress docker container with some plugins to handle what you want and then use the Wordpress api for the calls. If you’re looking for like a paid membership situation for the site, there are free and pay plugins that can accomplish the payments and subscription integrations.
I’d also suggest taking a look at Jellyfin.
As to the hardware, I’ve seen lots of recommendations for refurbished thin clients on eBay. Good value. Myself, I’m using a pc I had built for live streaming, and pivoted into a server. I think it’s got an i7 in it. I recently added some ram to bulk it up to 32g, and while it stared with a 240gb ssd, it’s now got a whole raid array in it.
I’ve got a raspberry pi 4 (8GB) running Kodi (via osmc) hooked up to our tv. The tv itself is a Roku tv that isn’t allowed to connect to the internet.
I’ve also got a pc that used to be my streaming/video editing rig back when I used to make videos, but I repurposed it as my server, and it runs Jellyfin, along with a host of other apps/services for me and my family.
The pc is older, but as a server it works great. Biggest drawback is power consumption, it’s not nearly as efficient as a mini pc with a n100 or something similar, but for my purposes it works great.