Hey everyone, I’m planning on setting up my first home server this year. Going to use an old Dell Optiplex with a couple 4tb SSD’s.

I only need two services running. Jellyfin and immich. I’ve tested this out in a debian netinstall VM and it works.

Just looking for helpful hints or advice etc. I’m a long time Linux and BSD user and I’m tempted to try it out using Alpine Linux or even NetBSD (my daily driver os) but I thought I’d be sensible and go with Debian for… Stability?

Anyway, immich is run in a container whereas jellyfin has a binary install. Apparently you can run jellyfin in a container also, not sure I really need to tho?

Thank you for any hints or advice.

  • klangcola@reddthat.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 days ago

    Some key points regarding Proxmox:

    • Even if you only want to run two services, you still want to keep them isolated. This can save you much pain and frustration in the future when they require upgrades
    • Proxmox let’s you easily manage VM and LXC containers. So you can easily manage backups, or spinning up a separate test instance of your service. Which again, can save you pain and frustration when it comes to future updates of your services.
    • Backups are even better if you can deploy the separate Proxmox Backup Server
    • Should you ever want to add another service in the future, you can test it out in a new VM or container without it affecting your existing services at all
    • ZFS is indeed quite memory hungry, but AFAIK it’s mainly used for the read cache, and can be tuned to use less RAM at the cost of performance
    • ZFS is mentioned a lot because it’s good, but Proxmox also supports a range of other storage technologies: LVM, mdraid, EXT4, CEPH
    • Proxmox is just standard Debian and KVM/QEMU virtual machines under the hood. Which means you can use standard tooling and workflow should you need it for some edgecase.
    • You mentioned Jellyfin in a container: My understanding is that Jellyfin in Docker has some extra limitations or complexities when it comes to hardware encoding.
      • Jellyfin also has official documentation for how to deploy in LXC container and get HW transcoding working (Less complex than in Docker).
      • LXC containers are not like Docker containers. While a Docker container is meant to be an immutable image of a (single) application, LXC is more like a full fledged VM, but without the overhead of virtualization. LXC containers are full systems, and you install software via the usual apt, dnf etc
      • The “correct” way to run Docker in Proxmox is to run Docker in a Virtual machine. Installing Docker inside a LXC container is also possible, with some caveats. Installing Docker directly on the Proxmox host is not recommended

    For reference, my oldest Proxmox server is a 2013 AMD dualcore 16GB DDR2 ram with VMs on LVMthin on a single SSD, with legacy VM doing mdraid of 3 HDDs using hardware passthrough. Performance is still OK, the overhead from Proxmox is negligible compared to strain from the actual workloads