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.

  • filister@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    3 days ago

    I would suggest giving Proxmox a go and virtualise your VMs, as you can easily make snapshots and recover if something goes south.

    You can also check https://tteck.github.io/Proxmox/ containing easy deployable scripts to make your life easier.

    I would also try to run everything out of Docker compose and create a repo containing all configuration files.

  • PieMePlenty@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 days ago

    Debian and either do containers or dont. I have most services without container and a few with, no issues.

    One thing I dont see mentioned by anyone is power draw. Figure out how long you intend on running it and what energy expenditure you are comfortable with. Old hardware will usually draw more power.

  • giacomo@lemm.ee
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 days ago

    proxmox is awesome, but i dont think its a right fit for what you’re looking to do. if you just want to run a few podman containers, I’d probably go with a server os that is geared towards containers.

    check out fedora’s coreOS or maybe ucore from the universal blue project. it seems like they’re both good candidates for podman. i think opensuse has a similar offering in microOS.

    i recently migrated containers from an older Ubuntu server running docker to a ucore server with mainly rootless podman containers. i think I prefer ucore as updates are automated, reboots are scheduled for off hours, and the podman containers are kept updated by systemd service. and cockpit comes on the os image container, so i can poke stuff on a webpage too I guess.

    • pfrOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      3 days ago

      Thanks for this. I went down a bit of a rabbit hole today looking into proxmix, and started thinking that a Dell optiplex won’t cut it after reading how using proxmox with zfs uses more resources, plus I kept seeing people recommend ECC ram which is more expensive and is harder to come by.

      I’m look at ucore, but most install instructions for things are targeted at debian systems using apt. I guess that’s not a major hurdle though.

      Proxmox still peaks my interest, and maybe one-day when I can afford a decent setup I’ll get into it some more.

      • klangcola@reddthat.com
        link
        fedilink
        English
        arrow-up
        4
        ·
        3 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

    • pfrOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 days ago

      Do you recommend ucore or ucore-minimal?

      So installing looks a bit convoluted. How do you install uCore? Install Silverblue and then rebase to uCore?

      • giacomo@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 days ago

        Haha, you’re not wrong about it seeming a little extra to get installed.

        I used coreos live ISO and coreos-installer with the ignition file produced from a ucore-autorebase.butane file. I lightly edited the example butane file with the ssh keys I wanted to use, password hash, and “ucore-minimal:stable-nvidia” since I’ve got an old 1060 gpu in the server for jellyfin.

  • Pax@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    Can’t say enough good things about ProxMox. Pair it with Proxmox Backup Server and you’re golden. If you/an upgrade breaks something, just restore that LXC/VM from backup. Can’t pay enough for that kind of peace of mind. And PBS will take care of deduplication, retention and verification.

  • tofuwabohu@slrpnk.net
    link
    fedilink
    English
    arrow-up
    6
    ·
    3 days ago

    Debian is kind of the default for many things now, so many guides etc will assume a Debian-like os but if you are familiar with other OSes you can try them just fine. Make sure zfs is supported by the OS properly if you want to use it for your SSDs (which I suggest).

    If you are using Docker containers, you can migrate between OSes later relatively easy. Depending on how beefy your optiplex is, you could also use Proxmox as the base os and play with different VMs. Being able to easily snapshot the VMs is pretty great and for me has always been worth the overhead.

    • pfrOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 days ago

      I should have mentioned, I prefer to use podman over docker, which apparently doesn’t work with ZFS? At least not the Proxmox VE Podman LXC…

  • PoopMonster@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    3 days ago

    Not sure how popular of an opinion this is these days, but unraid is dead simple to use. It’s not free, and I think they changed their licensing since I got it, but damn is it nice. Just go to the app store, pick out what you want, fill out a form for ports and such and ban, docker containers spin up with everything you need.

  • JASN_DE@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    3 days ago

    Going container-only on a Debian base is a very stable environment without filling up your system with leftovers from experimenting with new services.

    And yes, Jellyfin runs fine in a container.

    • pfrOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 days ago

      I prefer podman over docker. It works, but I wonder if I’m missing out an anything not using docker? I’m still new to containers

  • ikidd@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    3 days ago

    If you’re going down the road of a container for Jellyfin, you might want to check out YAMS which is a full Arr stack in docker.

  • schizo@forum.uncomfortable.business
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 days ago

    Debian stable is great: it’s, well, stable. It’s well supported, has an extremely long support window, and the distro has a pretty stellar track record of not doing anything stupid.

    It’s very much in the install-once-and-forget-it category, just gotta do updates.

    I run everything in containers for management (but I’m also running something like 90 containers, so a little more complex than your setup) and am firmly of the opinion that, unless you have a compelling reason to NOT run something in a container, just use the containerized version.

  • phanto@lemmy.ca
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 days ago

    I really like running proxmox and then containers for my apps, proxmox being basically Debian already.

    • pfrOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 days ago

      Explain proxmox to me like I’m 5. Is it a VM? I see a bunch of scripts on their website, but i’m confused…

      Nevermind, I had an LLM explain it to me. This looks like the go!

      Would you run both containers (jellyfin & immich) inside the same VM? or create a separate VM for each service?

      • filister@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 days ago

        There is no need to have them on separate VMs, as containers are already isolated and additional VMs will add more overhead.

        It is worth exploring the LXC containers too, even though I prefer Docker with compose for its declarativeness.

  • GravitySpoiled@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    3 days ago

    You run a server for yourself. It can boot every day without issues. It can even hibernate while you sleep at 4am.

    You can perform updates every day without issues.

    You want to run everything in a container, docker, podman, or friends.

    The host does not really matter, it’s all linux. Use the one that you are comfortable with. I chose fedora because I use the workstation. My second server is still on ubuntu. I won’t change it until I change the machine because it doesn’t matter that much. They are all stable.