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?
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 backports have only limited support, which takes you out of the whole “stable” thing and IMO defies the purpose of using Debian in the first place.
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.
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?