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?
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.
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.
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.
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.
“Ubuntu added on top” you mean Snap? No thanks :)
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…
what even is the difference?
im using ubuntu rn, but need to redeploy and have been thinking of just switching away to debian.
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.
Since you run everything in docker, I guess you have experienced the benefits of containerization. So why not leverage that for your host too?
Fedora IoT is a container-based host that runs on your hardware, with a focus on edge device deployment.
https://fedoraproject.org/iot/ I have it running on two servers as well, and it works great. The only thing I changed is that I layered docker on it instead of using podman, because at the time I had trouble getting my reverse proxy working properly over ipv6