Inspired by “What’s a good piece of hardware to run a jellyfin server?” I wanted to get the communities thoughts on how to set up my home media server.
Current hardware: Apple Mac mini “Core i7” 2.3 (Late 2012) with 8GB RAM (2x4GB) and 1.0TB Mercury Electra 6G SSD that I upgraded
OS: OMV6 (6.9.14-1 (Shaitan))
Docker containers:
- Portainer
- Plex
- Transmission VPN (Haugene using IVPN)
- Autoheal
- Watchtower
Goal:
- Use this old Mac Mini for as long as possible as a media server. Be able to download with Transmission over VPN and then add them to a Plex media folder via SMB on my Mac Studio. I want to manage the containers in Portainer and I’ve used Stacks/Compose to add most of the containers. Use the discrete GPU for hardware accelerated transcoding, mostly so I can download movies to my iPad quicker, less so other people can use it remotely. The containers should restart if they stop and I want to keep them updated automatically if possible. I’ve not experimented with Servarr yet (Radarr, Sonarr), not opposed, but also happy to drag them over.
Problems:
- I don’t love OMV, I seem to have a recurring DNS issue with containerd that causes Plex to stop whenever I’m watching a movie. I can run a test and leave something playing all day and not have a problem, then whenever I want to watch something with my wife, the whole system becomes unavailable and I have to watch a ping until it comes back. I’m considering a new OS, it should be accessible via VNC/SSH and have my internal and external drive shared as a SMB share to my Mac. I can’t figure out how to get the GPU to be seen by OMV so everything is on the CPU, an OS where this is easier is preferred.
Questions:
- Any OS recommendations to use instead of OMV6?
- Advice on getting the discrete GPU seen in whatever OS I use?
- I can’t tell if it’s Haugene causing the DNS issue, I’m using public Google/CloudFlare DNS to avoid using my PiHole that runs on a Pi3b. Can I set up Docker to use a different network so it doesn’t bring my whole system’s IP down? It might also be Watchtower updating a container and bring it down, any advice to troubleshoot would be appreciated.
Disclaimer:
- IT guy, but mostly Mac. I can Google my way through most things, but I am NOT a Linux or Docker expert. So please go easy on me if I have any follow up questions!
Thank you in advance!
Only your container with VPN connection and transmission would be using the VPN’s DNS
With regards to the pihole, yeah I’d run that as a container on proxmox (there are some handy scripts by [tteck](https://tteck.github.io/Proxmox/, though I’m not generally a fan of running shell scripts off the net like this it is easy). But I wouldn’t get rid of the pi, I’d keep it as your secondary. Single point of failure means it will drive you nuts if you have to reboot the server, everything will be down.
Outside of the beelink, it’s just the tiny/mini/micro options from Lenovo/HP/Dell, and then by generation of CPU. The beelink is a popular choice, but personally I like the power that an i5/i7 will give me, and I’ve got a couple of machines with 32GB and 64GB of ram - throwing 16GB at a VM I can access remotely for Windows apps is super useful, and I can otherwise live in my Linux desktop.
I’d also say you don’t have to toss the 2012 Mac mini, you can grab some bits you want (SSD), but you can drop in a replacement and make it another proxmox host. Even run your second pihole there.
In terms of guides, sorry don’t really have any on specifically my setup no. But there are ones out there to learn how to set up an LXC as a docker host, docker networking, guides to the *arrs being set up, etc.
Such as this one for a VPN container, and docker-compose samples for having other containers use that network: https://www.naturalborncoder.com/linux/2021/02/19/making-a-docker-container-use-a-vpn/
For a good start on how to set up (after the containers are running) sonarr/Radarr/etc, check out: https://trash-guides.info/
And you can always ask questions in the various home server communities here (and elsewhere on the fediverse obviously).
Good luck!
Hey CurbsTickle
Thank you so much for the tips, with a mix of googling, bit of GPT4 and straight smashing my head against the desk, I’ve gotten Proxmox installed on the Mac Mini and ordered 16GB of RAM (figured it’s worth the $40). Fought a serious battle trying to get to the startup manager with my mechanical keyboard and Dell monitor, eventually got it to boot from the thumb drive and install. I’ve got an LXC setup with Debian 12 and installed Plex, even managed to get my existing Plex Media folder from my external drive mounted in the container!
Next steps are the IVPN Wireguard killswitch VPN LXC and Transmission LXC, based on the quick reading I’ve done, it looks like iptables rules is the way to go. I’ll more than likely be writing a big post in selfhosted lemmy soon asking if anyone has achieved this already and has the steps. I might look at the *arrs but that is a later project, I am fine with searching, downloading and renaming/moving the files when I want to watch something. We don’t have regular shows we download right now.
Final questions before I head into the deep dark world of home server communities.
Thanks again
iptables is a solid choice for the regular Linux side (or an LXC), if you use a docker container though, you can just use the docker network to restrict access - you can see a solid example of that here:
https://tcpip.wtf/en/force-docker-containers-vpn-gluetun.htm
Regarding your questions:
pct set XXX -mpX /host/dir,mp=/container/mount/point
Where XXX is the container number, and mpX is the mount number. Mount Point 0 is the first (mp0), the next directory you mount is mp1, etc.
https://tteck.github.io/Proxmox/
Thank you for answering my questions, I spent some time over the weekend performing testing. Sadly I suspect all my problems stem from my NIC failing. The loss of IP that I was seeing in OMV is still happening in Proxmox. Now trying to decide next steps, I can either keep throwing money at it and get an external Ethernet solution with compatible drivers or finally put this Mini to rest. I’ll probably make a post on the selfhosting community and see if anyone has any recommendations for hardware. Little peeved I bought the RAM and have this SSD with nowhere to make use of them. Maybe I can find a suitable machine that can use them, but I’m gonna guess they’ve aged out of the CPUs I’d need for better performance. But I am very happy with the Proxmox, LXC and Debian suggestions.
Definitely unfortunate…
What I’d recommend maybe looking at then is an off lease Lenovo/HP/Dell tiny/mini/micro - on eBay I’m seeing a Dell 3050 with 6th gen i3 for ~$60, a 7050 with an i5 6th gen and no HD for the same price (better purchase right there), or an i7 6th gen with a 256gb drive and 16gb ram for $120.
Anything like that, and swap in the SSD if it will take it, then you could put proxmox on one disk and dedicate the second SSD to your media server VM.
Good luck with whichever route you go!