So I have been running a fair amount of selfhosted services over the last decade or so. I have always been running this on a Ubuntu LTS distribution running on a intel NUC machine. Most, if not all of my services run in a docker container, and using a docker compose file that brings everything up. The server is headless. I connect over ssh into a tmux config so I am always ready to go.

Ubuntu has been my stable server choice over the years. I’ve made the upgrade from 16, 18, 20 and 22 LTS release and everything has kept working. I even upgraded the hardware (old NUC to a new NUC) and just imaged the disk from the old one onto the new machine, and the server kept chugging along quite nicely, after I configured the hardware (specifically the Intel QuickSync for hardware transcoding in the Plex container).

Since Ubuntu has been transitioning from a really open community driven effort into a commercial enterprise, I feel it may be time to look at other distributions. On the other hand, it will require a fair amount of work to make the switch. But if it needs to be done, than so be it. I guess I am looking for opinions on what Linux distribution would fit my particular use case, and am wondering what most of us here are running.

TLDR; What stable, long term supported Linux distributions do you recommend for a headless server running a stack of docker containers?

  • Guenther_Amanita@feddit.de
    link
    fedilink
    English
    arrow-up
    70
    arrow-down
    1
    ·
    edit-2
    8 months ago

    Debian. I don’t see much benefit of Ubuntu LTS compared to plain old Debian. It’s exactly what you wanted.

    Alternatively, AlmaLinux is a good choice if you like Red Hat stuff (RHEL clone), but the difference between Ubuntu LTS and Debian would be almost not noticeable for you I think.

    • h3ndrik@feddit.de
      link
      fedilink
      English
      arrow-up
      16
      ·
      edit-2
      8 months ago

      And I would agree. I’ve been using Debian on my VPS with docker-compose etc for years. Would recommend it, too. And it’s pretty similar to what you have now. There isn’t much needed to swich around or learn.

      And it is the textbook example of a successful, community driven distro.

      • faethon@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        10
        ·
        8 months ago

        It seems to be the most logical move to go from Ubuntu to Debian indeed. As I understand it maintains the core Linux system as I have it now (systemd / apt / stable kernel) while truly community driven. I have to look into transitioning into the latest stable Debian release.

        • h3ndrik@feddit.de
          link
          fedilink
          English
          arrow-up
          9
          ·
          8 months ago

          I mean it’s not only alike what you’re currently using… It’s the foundation of Ubuntu. Lots of packages are exactly the same.

          And I think you’ll find something very similar, just with the stuff missing that Ubuntu added on top, and you don’t like anyways.

          Hope you can move you containers and volumes without too much effort. I mean since you’re starting over anyways you could also pause for a minute and think if you want to recreate something similar or switch to something different. There are other containerization techniques, podman, systemd-nspawn, you could do your server in a declarative approach with NixOS… But if you like what you have now, and don’t want to learn something entirely new, I’d say Debian is probably your solution.

          • iso@lemy.lol
            link
            fedilink
            English
            arrow-up
            4
            ·
            8 months ago

            “Ubuntu added on top” you mean Snap? No thanks :)

            • h3ndrik@feddit.de
              link
              fedilink
              English
              arrow-up
              3
              ·
              8 months ago

              It’s not the first strange decision they made. I think I finally switched from Ubuntu to Debian when they introduced the Amazon advertisements to the Unity desktop. That must have been 12.10 Quantal Quetzal. I’ve been happy since and didn’t miss the odd business strategies they pushed in the time since…

        • lemmyvore@feddit.nl
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          8 months ago

          The only thing you need to watch out is the kernel.

          Debian stable is on a 2-year release cycle (odd years). LTS kernels are released once a year, but Debian needs time to test each release thoroughly so they use the LTS kernel from the previous year. This means that by the time the next stable Debian comes out the kernel will be 3 years old.

          Example: Debian 11 released in 2021 with kernel 5.10 (from 2020). By the time Debian 12 released in 2023, kernel 5.10 was 3 years old.

          You can of course use backports to get a newer kernel but using backports defeats the purpose of using Debian stable. So please think very carefully whether you need recent kernel support for anything.

          Docker and ZFS are the usual suspects but they tend to support a pretty wide array of kernel versions so they should not be a problem. Especially since you can install them from 3rd party repos. But please understand that releases from external repos are, again, not tested with stable.

          There are other things that may need kernel support, for example I use the Samba and NFS drivers from the kernel, which need userland packages as well, so in their case you definitely want to stick to the official stable packages.

          If you can’t live with old Debian kernels then stick to Ubuntu. There’s no inherent problem with Ubuntu and given that you have experience with it it might actually be the ideal choice for you. There’s no substitute for a distro you know very well.

          • faethon@lemmy.worldOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            8 months ago

            Ah, that is a good point. I am using 6.5.0 kernel atm, as part of the HWE (hardware enablement) package, which supports QuckSync / hardware encoding of my 12th gen intel processor. I did a quick search, but did not find HWE for Debian is that correct?

            • lemmyvore@feddit.nl
              link
              fedilink
              English
              arrow-up
              1
              ·
              8 months ago

              HWE for Debian should be in the backports.

              I haven’t looked into it tbh, my Intel is 7th gen so I have no problem running with Debian’s older kernel.

    • varsock@programming.dev
      link
      fedilink
      English
      arrow-up
      13
      arrow-down
      1
      ·
      8 months ago

      Debian has the advantage of not using snapd like Ubuntu does. You have to not only remove snaps but also instruct the package manager not you pull in snaps as dependencies and not to favor snap packages.

      I have fond memories of Ubuntu being my first distro many years ago but pushing snaps onto users to compete with flatpak is a nuisance.

    • umbrella@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 months ago

      what even is the difference?

      im using ubuntu rn, but need to redeploy and have been thinking of just switching away to debian.

      • Guenther_Amanita@feddit.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 months ago

        Debian is community run, which often means all changes and features get implemented because the community wants that, not some corporation. One notable example of that is Snap.

        Also, I found (minimal install) Debian a bit more minimalist than Ubuntu server, which is great imo. I just want the bare minimum for my services to work, and pretty much the only thing I expect from my server to have is SSH and Docker.

    • Corgana@startrek.website
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 months ago

      +1 for Debian, also CasaOS is like a single-command setup for docker and other features with a nice GUI.

  • peo@feddit.it
    link
    fedilink
    English
    arrow-up
    29
    ·
    8 months ago

    Debian, set and forget. Being a server you don’t need the latest version of any software and Debian is timely in security patches. use unattended-upgrades and forget about what is running your stuff.

    • faethon@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      6
      ·
      8 months ago

      Yes, I am running unattended-upgrades, and basically my current server is running 24/7 just fine! It is indeed like set and forget already. More reason to move to Debian!

  • matcha_addict@lemy.lol
    link
    fedilink
    English
    arrow-up
    14
    ·
    8 months ago

    For your use case, debian. Ubuntu is based on it, it’s stable, it’ll feel like home.

    I personally use Gentoo (since you asked what we all use), but based on your reqs, you wouldn’t wanna use it. And I’m probably in the minority anyways.

  • Atemu@lemmy.ml
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    1
    ·
    8 months ago

    If you’re using containers for everything anyways, the distro you use doesn’t much matter.

    If Ubuntu works for you and switching away would mean significant effort, I see no reason to switch outside of curiosity.

  • GunnarGrop@lemmy.ml
    link
    fedilink
    English
    arrow-up
    8
    ·
    8 months ago

    OpenSUSE MicroOS or Fedora CoreOS. If you’ll be using containers you’ll have a great time. If you don’t want to deal with transactional systems, then there is literally nothing I’d rather use than Debian.

    • TCB13@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      7
      ·
      8 months ago

      Dude the guy is running on system with restricted resources and you’re suggesting the most bloated and prone to fail thing ever.

      The OP would be way better with Debian + Cockpit (also provider a webUI and virtual machine manager) or Debian + LXD/LXC (containers + VMs, optional webUI). Both of those solutions are way lighter and won’t mess your base system.

      • eleitl@lemmy.ml
        link
        fedilink
        English
        arrow-up
        6
        ·
        8 months ago

        It’s a NUC so sufficiently poweful. Proxmox isn’t fat by any means. If you run your stuff in containers then Proxmox (I aways install it on top of Debian) is your hypervisor is your base system. You typically don’t install stuff on your hypervisor, though I do some very select things.

        • TCB13@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          8 months ago

          If you run your stuff in containers then Proxmox (I aways install it on top of Debian) is your hypervisor is your base system

          I believe you’re missing my point. Cockpit also works as an hypervisor for most people, a very light and stable one, besides…

          If you’re running containers on Proxmox then you’re running LXC containers… why not just use LXD/Incus (also another hypervisor) to manage those containers that is considerably lighter, comes by default in the Debian repository, was designed to manage LXC container (not hacked around like Proxmox was) and isn’t mostly made by a for profit entity that sometimes likes to hold important patches on their subscription-only repositories? Or constantly nag you to buy a subscription?

          • eleitl@lemmy.ml
            link
            fedilink
            English
            arrow-up
            3
            ·
            8 months ago

            I hear you, but Proxmox does a great many more things than just run containers. Admittedly, many selfhosters won’t need these.

            • BearOfaTime@lemm.ee
              link
              fedilink
              English
              arrow-up
              3
              arrow-down
              2
              ·
              edit-2
              8 months ago

              I just spun up Proxmox - it’s using 1GB of ram, and trivial CPU.

              For a host, nothing else looked as easy to install and get running. The hardest thing so far was learning how to use ZFS raid0 on 3 drives. Doing so requires going commando (command line), because it’s not a safe thing to do, and really should never be done.

              Once you get the concepts in Proxmox, it’s really straightforward.

              Also, it’s backed by a commercial business, so it’s likely to see continued support and dev. With the recent shitshow with VMware, I suspect it’ll be a choice for many businesses - which hopefully translates to a growth in user base (and financial support).

              • TCB13@lemmy.world
                link
                fedilink
                English
                arrow-up
                3
                arrow-down
                2
                ·
                8 months ago

                Also, it’s backed by a commercial business, so it’s likely to see continued support and dev. With the recent shitshow with VMware, I suspect it’ll be a choice for many businesses - which hopefully translates to a growth in user base (and financial support).

                That’s kind of the problem with Proxmox, you never know when they’ll start requiring a license for everyone and what prices will look like. That’s one of the reasons why I’m telling people to look at LXD/Incus. It’s truly free/open and financed by the linux containers initiative that gets resources from multiple big vendors and providers.

                • moonpiedumplings@programming.dev
                  link
                  fedilink
                  English
                  arrow-up
                  3
                  arrow-down
                  1
                  ·
                  8 months ago

                  LXD/Incus. It’s truly free/open

                  Please stop saying this about lxd. You know it isn’t true, ever since they started requiring a CLA.

                  LXD is literally less free than proxmox, looking at those terms, since Canonical isn’t required to open source any custom lxd versions they host.

                  Also, I’ve literally brought this up to you before, and you acknowledged it. But you continue to spread this despite the fact that you should know better.

                  Anyway, Incus currently isn’t packaged in debian bookworm, only trixie.

                  The version of lxd debian packages is before the license change so that’s still free. But for people on other distros, it’s better to clarify that incus is the truly FOSS option.

            • TCB13@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              arrow-down
              1
              ·
              8 months ago

              LXD/Incus also does clustering, storage management, has a WebUI etc.

      • 𝘋𝘪𝘳𝘬@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 months ago

        Any small Linux distro would do. Just install Docker and maybe Portainer (as container itself of course) if you want a web UI.

  • rtxn@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    8 months ago

    Debian, all the way. I’ve got both ubuntu (made by my predecessor) and debian servers at work, and as far as maintenance and administration, they’re more or less identical. The one thing that sometimes catches me off-guard is that sudo is not installed by default, and you have to su - into a root session.

    • zarenki@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 months ago

      That’s actually a choice you’re offered during Debian’s interactive install. When you’re offered the option to set a root password, if you leave it empty the system will disable direct root login and instead give your first normal user sudo access.

  • msoulforged@fstab.sh
    link
    fedilink
    English
    arrow-up
    6
    ·
    8 months ago

    I have Debian for some time and am quite happy. İt is slow with updates but very stable.

  • kylian0087@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    8 months ago

    Personally I prefer Rocky linux. Default to using SElinux which I also like. not a big fan of debian though as things are quite old and sometimes outdated for my needs.

  • Codilingus@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    3
    ·
    8 months ago

    Unraid is the GOAT when it comes to being headless for docker. They know how to walk the fine line of “this is too much. It’s bloat,” and “this is minimal and bare bones.” I seriously can’t hype them enough, and can’t do justice to describing their ease of use.

    • farcaller@fstab.sh
      link
      fedilink
      English
      arrow-up
      4
      ·
      8 months ago

      I wouldn’t specifically say nixOS is stable in the same sense debian is but yes, it can totally handle this use case. I mainly run k8s on it, but a few home machines run docker (or, rather, podman) containers.

      A thing about nixOS is that quite often you won’t need containers at all and would be better off without them, managing your apps as part of the system state as a whole. I only do that because I can’t be bothered to properly switch to nixOS services for ELK (which is supported by nixOS).

      It’s a very stable solution in general and usually ends with a configuration that either doesn’t apply at all or applies with no issues. Gitops included for pretty much free. It requires understanding nix, and it can be tricky, but not overly tricky.

      All and all I haven’t had an Ubuntu in homelab for two years now and can’t be happier about that.

    • mlaga97@lemmy.mlaga97.space
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 months ago

      Still a few Ubuntu Server stragglers here and there, but it works quite well as long as you keep your base config fairly lean and push the complexity into the containers.

      Documentation tends to be either good or nonexistent depending on what you’re doing, so for anything beyond standard configuration but it can usually be pieced together from ArchWiki and the systemd docs.

      All in all, powerful and repeatable (and a lot less tedious than Ansible, etc), but perhaps not super beginner-friendly once you start getting into the weeds. Ubuntu Server is just better documented and supported if you need something super quick and easy.

    • owen@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 months ago

      Works well for me. Quick to set up as well if you are already familiar for nixos