My solution to that issue is to share my media over NFS with a raspberry pi connected to the TV, the pi runs OSMC (https://osmc.tv/) and has the media direct. you can control OSMC on the pi with your TV remote
Would recommend OVH for both domain name and DNS, they have DNS APIs so you can get certificates from lets encrypt with ease. Also you could update your zone when your home IP changes
I would start with a Debian os base, install docker and turn it into a swarm manager. Then look at stacks and how services work, if you find your running your host too hard. You can add a work host and stread out.
Once you have docker swarm running, get portainer running. I use portainer as a visual whats happening on my swarm, but I use the docker cli to start and update all my stacks. I have my stacks in a git repository so that I have a backup and history of what changes I did.
I would recommend OVH for DNS, they have an API and are on the list for that tool. Also you can use the API to get lets encrypt certificates