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:

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!

  • CurbsTickle@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    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:

    • Good enough for direct play, and for SRT subtitles, but any image subtitles (pgs, vobsub) will transcode. If you can use GPU for transcoding, it won’t matter, it’ll come down to how much simultaneous use you’ve got more than anything. You can view how it’s running from the summary page of the VM/LXC, and adjust accordingly whenever. Just give it another core, shutdown, start back up, and you’ll have more cores applied - ready to test again. (One of the reasons I like proxmox).
    • You can update any time, just need to shutdown and start up again to apply hardware changes! The only thing you can’t change easily is privileged/unprivileged LXCs. For now don’t worry about that.
    • A privileged container can access the hardware on the host, but an unprivileged container can’t (without some extra shenanigans). I’d make it privileged for now, if you want to change later after you’ve gotten some experience you’ll be able to do so much more quickly. The HD4000 will do pretty well with h264 video, but won’t help with h265/hevc, so stick with h264 for anything with subtitles.
    • Sure can! You can actually mount it to the LXC from proxmox with a simple command:

    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.

    • Check out tteck’s helper scripts for an idea on the things you can do. Personally I recommend making the LXCs yourself, but these scripts are good to use to get familiar with what you can do:

    https://tteck.github.io/Proxmox/

    • robalees@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 months ago

      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.

      • CurbsTickle@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        8 months ago

        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!