Hello there lemmings! Finally I have taken up the courage to buy a low power mini PC to be my first homeserver (Ryzen 5500U, 16GB RAM, 512 SSD, already have 6TB external HDD tho). I have basically no tangible experience with Debian or Fedora-based system, since my daily drivers are Arch-based (although I’m planning to switch my laptop over to Fedora).

What’s your experiences with Debian and Rocky as a homeserver OS?

  • Debian is a distro of few surprises and stable but slightly out of date packages. Their software repositories are vast and supported across pretty much every architecture you could think of running Linux on.

    Meanwhile the world of RHEL has been turned upside down with Redhat essentially putting a paywall around their sources. Although Rocky currently promises to continue being bug for bug compatible with RHEL it remains to be seen if they can continue to do so (in my opinion)

    • Yeah that’s one of the main reason I’m interested in your experience. The sorta recent source lock is definitely shaky just in general, although I believe in Rocky’s message that they won’t have to roll their shutters down.

  •  lemmyvore   ( @lemmyvore@feddit.nl ) 
    link
    fedilink
    English
    129 months ago

    Debian stable is a very solid choice for a server OS.

    It depends on how you’re going to host your services though. Are you going to use containers (what kind), VMs, a mix of the two, install directly on the host system (and if so where do you plan to source the packages)?

    I’ve kept my Debian system very basic, installed latest Docker from the official apt repo, and I’ve installed almost every service in a docker container. Only things installed directly on host are docker, ssh, nfs and avahi.

    • I’m going full container mode if it’s possible, or just make the docker images myself then.

      • Jellyfin
      • Onedrive alternative (probably Nextcloud)
      • Personal website + it’s backend, or just the backend (Might won’t host this tho, since it’s a high security risk to my personal data)
      • Pi-hole
      • Probably other ideas which seems fun to host
      • Make sure you use a docker image that tracks the stable version of Jellyfin. The official image jellyfin/jellyfin tracks unstable. Not all plugins work with unstable and switching to stable later is difficult. This trips lots of people and locks them into unstable because by the time they figure it out they’ve customized their collection a lot.

        The linuxserver/jellyfin image carries stable versions but you have to go into the “Tags” tab and filter for 10. to find them (10.8.13 pushed 16 days ago is the latest right now).

        To use that version you say “image: linuxserver/jellyfin:10.8.13” in your docker compose instead of “linuxserver/jellyfin:latest”.

        This approach has the added benefit of letting you control when you want to update Jellyfin, as opposed to :latest which will get updated whenever the container (re)starts if there’s a newer image available.

        While upgrading your images constantly sounds good in theory, eventually you will see that sometimes the new versions will break (especially if they’re tracking unstable versions). When that happens you will want to go back to a known good version.

        What I do is go look for tags every once in a while and if there’s a newer version I comment-out the previous “image:” line and add one with the new version, then destroy and recreate the container (the data will survive because you configure it to live on a mounted volume, not inside the container), then recreate with the new version. If there’s any problem I can destroy it, switch back to the old version, and raise it again.

        • Oh that explains the 2 linuxserver and official jellyfin then. It was always kinda strange to me.

          Luckily my uni hosted a docker course and binge watched a beginner Linkedin Learning too about it, but I’m really grateful for your in-depth guide. Guys like you really make Lemmy the old Reddit you used to have and cherish in your hearts. :3

        • The official image jellyfin/jellyfin tracks unstable

          Huh? That doesn’t appear to be the case. jellyfin/jellyfin:latest, which is what they tell you to use in the installation instructions. gives me 10.8.13 which appears to be the latest stable release.

          There are newer and unstable versions available in dockerhub as well, but latest doesn’t give you those. After all latest is just a tag with no special meaning of itself, it doesn’t necessarly give you the most recent build.

  •  PenguinCoder   ( @Penguincoder@beehaw.org ) 
    link
    fedilink
    English
    10
    edit-2
    9 months ago

    I use both (and others) for different reasons. However, the primary homelab server I use is based on Debian - Proxmox OS. It runs on the machine hardware you have but then you can run a few ‘fake’ computers (virtual machines) on top of that host OS. This is called a hypervisor. So when running Proxmox on the host, you could run a Virtual machine (guest) that is running Rocky and play around with that. Or Fedora, or Gentoo… or Arch. That really would be the avenue to go to learn about different Distros and nuances without having to breakdown and rebuild everything every time.

    My experience is that both Debian and Rocky are stable and very useful for what you need them to do. Debian favors stability, whereas Rocky favors being a RHEL compatible OS. It’s easier to do somethings on Debian, but you may learn more enterprise aspects using Rocky.

  • As others have said, debian is very minimal, so If you would prefer to setup and configure the whole system yourself, debian is a good choice.

    Personally, I prefer fedora server. It comes with more things configured out of the box (zram and sysctl configs for example) as well as better security defaults (selinux included with proper policies) and first class support for container infrastructure. Ultimately you could achieve a similar end result with debian, but for my homeservers I prefer to let the fedora team handle most of the system configuration for me.

    • I would be careful if they wanna use zfs though. Fedora can be a bit quick on the kernels meaning a kernel can come out that isn’t supported by zfs. This causes zfs to fail to build the kernel module on the new kernel and so you lose zfs on the next boot.

      Almost happened to me tracking debian testing a while back.

  • I was running CentOS then migrated to Rocky. It handles various VMs and containers great and has been trouble free for years. 10 core Haswell-era Xeon with 64 GB RAM and a lot of ZFS storage.

    I moved from Arch to Fedora on my desktop/laptop as well. Really helps my mental state not keeping up with the different distro-specific knowledge between hosts.

      • Somewhat but it was more driven on the server-side decision. I wanted something that I could set and forget, that didn’t have a ton of updates but prioritized stability/security patches.

        Of course, speaking of packages I do regularly use rpmfusion and epel for the extra stuff the normal repos don’t have, but I understand why.

        Also being a heavy user of KVM, PCIe and GPU passthrough I found the experience easier and less likely to break between updates. A lot of Red Hat devs work on these subsystems so I assume it’s better QA’d.

  •  YawnTor   ( @YawnTor@infosec.pub ) 
    link
    fedilink
    English
    49 months ago

    I have a home lab consisting of 9 mini PCs running Docker Swarm. They’re from various manufacturers, Intel, ASRock, Minisforum, etc. I originally tried to use Debian to build out the environment but it couldn’t find the network interfaces, or storage, or whatever else. So I made a Rocky 9 install drive and tried that. Every machine came up with all hardware recognized on the first try. So, that’s what I’ve been running for just about two years now. No complaints.

  • I’m using Rocky on my main server at the moment, I was/am used to Debian based operating systems beforehand but wanted to learn red hat without dealing with Oracle directly.

    It was definitely a step curve getting to understanding the os but I’m quite happy with the stability of Rocky and it does everything I need and more. I think the real question is which would you get more enjoyment out of as far as learning and personally I don’t think the learning curve is as steep with Debian.

    The best thing I can advise is just back up your data regularly and if you’re not vibing or something breaks don’t be afraid to change to something different, though as an arch user I’m sure you’re used to things breaking.

  • Having used both:

    Debian is very easy to manage, it has the one of packages and mostly sane defaults. Ubuntu’s user friendliness owes a lot to Debian. I do not like the state of package management however. Dpkg is in need of some upgrades, and the deb package format has some security concerns.

    Rocky, being RHEL-derived is, as expected, exceptionally stable. I personally find DNF to be the superior package manager and I have historically run into fewer issues with it. Repos are extensive, especially with copr and fusion, but not as good as Debian.

    For a simple home server use Debian. If you want experience with enterprise Linux use Rocky.