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?
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Something headless for just running containers? Alpine.
It’s small, boots fast, simple, can run from RAM and Docker is available in its software repository.
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.
I’m in the Rocky camp too. Before the IBM buyout I would have said CentOS.
Gentoo. While a bit unusual, it’s perfect for the job.
Check my wiki at https://wiki.gardiol.org where I document my Gentoo selfhost experience.
I also moved to Debian after years of using Ubuntu Server LTS. No problem so far on those servers for container workloads, the small ones run docker compose, the medium ones run k3s, and a small cluster runs rke2.
Debian
+1 for Debian, also CasaOS is like a single-command setup for docker and other features with a nice GUI.
debian\ubuntu vm on proxmox. Then you can snapshot the whole deal and take easy backups of everything using proxmox backup server.
I do Debian on my server. I use openSUSE tumbleweed on the desktop but I could see leap being good for a server. YAST is pretty great .
deleted by creator
You won’t need anything else :) https://yunohost.org/#/
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.
I have Debian for some time and am quite happy. İt is slow with updates but very stable.
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.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!
Does someone use nixOS? How does that hold up for this usecase?
Works well for me. Quick to set up as well if you are already familiar for nixos
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.
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.
I prefer Fedora Server. It comes with a lot of nice integrations into more enterprise/centralized Linux administration and management tools. A lot of these are FOSS so if you like infrastructure, this is a really good way to take an easy step up.
If you don’t want to be on the bleeding edge and want a distro with longer support, CentOS Stream isn’t bad. Sure, there was some controversy surrounding it, when Red Hat killed the old CentOS. But ignoring that, the distro itself is pretty good and stable.
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.