See you back on Debian in a few months
Or Proxmox
Proxmox is just Debian 12 with additional software preinstalled
Kind of, yeah. That's why I replied with it.
Can't be hit by new backdoors when your packages haven't had updates for years 😉
In all seriousness Debian makes solid choices that makes everything as low maintenance as it can get for self hosting.
For someone who recently lost a bunch of their free time, that is amazing to not have to mess with stuff.
always . freaking . debian
I always think about using nixos. But considering I dockerise everything, I always end up using Debian.
Good old stable Debian
You can also use container within NixOS and AFAICT even declare the containers which should be running. Also NixOS is sad to be stable, or am I missing something?
Just that compiling packages on a server is not ideal.
Nixos will use/download cached binaries that are available in its repo. It has one of the biggest repositories of any Linux distro. It's on par with Arch with around 90 thousand packages.
Unless you are doing something custom or niche, your nixos won't have to compile anything.
Yeh, but I already have compose files and ansible things to set up a server.
And I'd have to figure out how health checks and depends-on works for that.
I'm sure it would give me an amazing experience, but I have all the tools and I can run them in isolation (ie I can install docker on any os I can SSH into)
Debian. Server? Debian.
Debian, Debian and maybe Debian
Proxmox.
Each service becomes an LXC. Docker containers can be migrated to LXC, or be contained within an LXC dedicated to docker.
Running out of processing power? Add another server, add to a cluster, and migrate services (LXC or VM) over.
Having run Fedora, Debian, Ubuntu, CentOS, RHEL, slack, even Oracle Linux - Proxmox is what I run for myself (and some clients).
I don't know if the use-case you describes fit into my problem. I only have one server and its a physical server. I'm also not really able to extend the number of servers, as I don't really have the budget.
Proxmox is a server OS based on Debian which is oriented on running virtual machines and Linux containers.
The physical server runs proxmox. The services can all be individual containers (LXC's).
Adding to the number of servers (and migrating containers later) is a benefit of Proxmox, since you can buy another PC to be a server later, and easily expand as you go.
I tend to not use the webui, so I prefer the similarly useful combination of Debian + Incus (spawned from the LXC project).
Sure, HA isn't baked into Incus (to my knowledge) but similar to OP I only have one physical box and don't necessarily care to manage multiple.
That being said, Proxmox is a good solution in the scheme of things and generally a good recommendation.
I've got a small fleet of tmm's, so HA is just practical for me, but yeah that works to with a single machine. Especially if you were sharing desktop use on it.
My $0.02:
NixOS is excellent, and actually pretty easy if you're not trying to do anything fancy (running all services under a single user, etc.). Personally this is my pick because I primarily host services for myself, so down time in exchange for learning a new thing is acceptable.
As I mentioned elsewhere, Debian + Incus is a great minimal and rock solid solution for longer standing services. Although, it's not compose
able :(
More directly to your preferences, I would also recommend considering Rocky. Being in the RHEL ecosystem has its perks (especially with rootless support for podman
and podman-compose
). I'm also generally a fan of SELinux. Rocky is a little less bleeding edge than Fedora with many of the same conveniences and recent packages. In my mind, for my purposes, that makes it a better choice than Fedora for a server OS.
Fedora Server works well, and the Podman integration is great.
I guess it is the boring option, but probably the best when coming from Ubuntu.
I went with Fedora on my VPS because I was also planning to use rootless Podman. Quadlets and running everything through systemd with SELinux enabled is working pretty well for me.
Debian
Not sure what works best in your case. I'm a Debian cat myself but I have been considering openbsd as a future option.
I'm a long time user of Debian myself too. No cutting edge fuzz, just a working, stable OS all of the time. What else do you need for a server? It always did the job.
But then I stumbled on FreeBSD, and man, that's a server OS. Simple design and blazing fast. No Docker but I never liked it anyway. My Docker is called Jails and in my opinion is they're superior. Service isolation on the next level.
On my laptop? Debian due to hardware and software support. And I'll stick to that for now. I feel home on that distro.
I can't say anything about OpenBSD as I never tried it but it sure is a perfect fit for a server as well depending on your needs and preferences. BSD just rocks!
I really don't see any advantages in your post for choices other than NixOS. I'm sure you'll improve quickly by necessity! :D
I have used all three! I started with Server then went to CoreOS running Kubernetes and settled on NixOS which I have been very happy with for about a year now. I run about 25-30 services all using built in modules.
Regarding security, if you are using well crafted modules on NixOS, there should be good systemd hardening in place. That being said there is no reason you can't just use containers on NixOS.
I also find deploying NixOS far superior to butane/ignition used by CoreOS/Fedora. I use nixos-anywhere and can deploy my entire server in a few minutes without manual intervention.
I'm a NixOS convert too. I actually still run everything in docker but the idea of not having to remeber or document how I set everything up was too appealing....a year later and my desktop and laptop are now on nix too
I'm probably the odd one out, but my home server is running Arch Linux. And it's been really smooth. I do weekly maintenance in the form of updates and cleanup and it's been reliable since I set it up a couple of years ago.
I’m probably the odd one out, but my home server is running Arch Linux. And it’s been really smooth. I do weekly maintenance in the form of updates and cleanup and it’s been reliable since I set it up a couple of years ago.
I am basically doing the same right now, all by hand. It's just that I am not doing the system and container updates regularly. I also often forget which services I have running and some of the Services I am not even using anymore. I just wanted to give them a try and now they are sitting there, wasting (barely any, but it's nagging me) resources.
I've been running Arch on my servers for over a decade now and never had issues. I think people have a perception that it's not stable or it randomly breaks but that's not been the case for me.
My home server also runs arch, mostly because it's a computer I was using for myself before and I'm lazy and just left what was already there.
You might want to consider just Dockerising everything. That way, the underlying OS really doesn't matter to the applications running.
I've got a few Raspberry Pi's running Debian, and on top of that, they're running a kubernetes cluster with K3s. I host a bunch of different services, all in their own containers (effectively their own OS) and I don't have to care. If I want to change the underlying OS, the containers don't know either. It's pretty great.
If you mainly use containers perhaps OpenSUSE Micro OS is of interest to you. Other then that pretty much any distro will do. I use rocky Linux my self for a few different things.
If you want to try out many different distros virtualization is also a option. KVM or something like XCP-NG with XO or proxmox are great options.
I use Debian at home on my homeserver and a mix of Debian and Arch for my workstations. Most of my stuff is managed with Ansible to make rebuilding easier and most workloads in podman containers.
Personally I don't overthink the distro thing. I recently started using Arch and quite like it. I've noticed packages that are available in Debian but not Arch and vice-versa. Debian Stable is nice because it's just, well, stable.
Fedora has an annoying release cadence IMO. I have experienced desktop bugs in the early GA releases before which put me off. If I wanted instability I would sooner go with Arch (and I am yet to have many issues with Arch yet).
If I were to go with a BSD for a home server it would probably be OpenBSD or FreeBSD. OpenBSD has vmm and a bunch of tooling around it, and FreeBSD has bhyve and jails. I haven't taken the plunge because Linux works and it's what I know.
These days I hear about people using proxmox on their homeserver with LXC containers and/or VMs.
Give Gentoo a shot. It’s super stable and you will understand everything in your system. Also it now supports binary packages
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:
Fewer Letters | More Letters |
---|---|
HA | Home Assistant automation software |
~ | High Availability |
HTTP | Hypertext Transfer Protocol, the Web |
LTS | Long Term Support software version |
LXC | Linux Containers |
SSH | Secure Shell for remote terminal access |
VPN | Virtual Private Network |
VPS | Virtual Private Server (opposed to shared hosting) |
ZFS | Solaris/Linux filesystem focusing on data integrity |
k8s | Kubernetes container management package |
nginx | Popular HTTP server |
[Thread #672 for this sub, first seen 11th Apr 2024, 15:35] [FAQ] [Full list] [Contact] [Source code]
I use Fedora CoreOS on my homeserver and a bunch of VPSs. Migrated the homeserver just recently, but I've migrated the first VPSs a bit more than a year ago. So far, I had no problems with it. There's a low-traffic mailing list where the devs inform about security issues and breaking changes to the whole container stack.
I used debian before for some years, but at some point became tired of manually updating the system (which is probably one of the biggest benefit of FCOS). It takes, however, quite some time to put your first Ignition config together, and debugging is tedious as you have to redeploy to see if a bug / error is now gone (I've used a VM for that).
I use podman on some, Docker on other servers (you can't use both at the same time). Both have been working well so far.
I'd recommend it, but would also recommend taking a look at Flatcar Linux which is more or less the same without the IBM dependency (which makes my stomach hurt sometimes).
If you want to containerise your apps, you could try Talos Linux. It is an api driven OS tailored to run Kubernetes. There is no bulk, only what is needed to run K8s, i.e., even no ssh server.
You control it with talosctl which calls the gRPC api endpoint to read or write all sorts of state including machine configuration.
I also recommend a stable/LTS distro like Debian or AlmaLinux (or other RHEL-based distros). Or just keep using Ubuntu Server LTS.
The OS packages being hopelessly outdated doesn't really matter when you're running most services inside containers.
I really really like Fedora Server, but any RHEL derivative is my go to for servers. I use Rocky Linux when I need something closer to RHEL, and Fedora server for pretty much everything else. I highly recommend Cockpit as well (main reason I like Fedora server) as it has allowed me to so easily manage all of my servers from a single point.
Slackware is a great, simple OS that does what it does and does it well. There will be some getting used to, but when it clicks, it makes sense and doesn't do anything you wouldn't expect. It is great if you want to use containers as it provides you with the stable, simple base to run all your containers on top of.
I have not used Fedora server yet but like their desktop is. Currently my two VMs in unraid are Rocky Linux. Been using centos and now Rocky for the last 5-6 years and haven't had any complaints
Selfhosted
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:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!