this post was submitted on 14 Feb 2024
19 points (78.8% liked)

Selfhosted

40438 readers
530 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

My household primarily runs Arch and Artix for our desktop OS and never have any issues with it, however we have had no end of issues with our home server* and it often ends up being related to systemd.

I am ideally looking for something that can just be left and updated less frequently that can also run docker containers, ideally using OpenRC but can also occasionally run a package on the host system. I'd prefer something GNU as well.

Please don't reply with any "systemd works fine for me" or "what is your problem with systemd" like most that a search turns up.

Edit*: Probably should have mentioned that its been on CentOS, Ubuntu and then OpenSuse Leap

top 35 comments
sorted by: hot top controversial new old
[–] [email protected] 17 points 9 months ago

I would like to know the problems you're having with systemd, but since you wouldn't like to explain....

TBH with all the shit I give Poettering, systemd is a good system for the most part, it's just ideologically not for me, and it's also really complicated from people who have worked on it.

With that said, I'd point you towards Alpine. I once ran a server in the cloud with it and have no issues other than if you were to use musl, but if you're using GNU I don't think you'll have such issues.

Why aren't you trying the BSDs? FreeBSD is quite stable and if you're going to run VMs anyway, run a couple to host your k8s infrastructure/podman nodes and off you go!

[–] [email protected] 14 points 9 months ago* (last edited 9 months ago) (1 children)

Switch to a stable Linux distribution like Debian Stable or Ubuntu LTS. The issues you're facing are much more likely caused by new package defects instead of the init system, or new defects in the init system packages. Switching the init system but keeping rolling will change the where and how defects crop up. Switching to a stable distro will nearly stop new defects from cropping up altogether till a major version upgrade. Which is measured in years. In the case of Ubuntu LTS, 5 years by default and 10 years if you activate the free Ubuntu Pro. That's the easiest way to stop servers from breaking and having to watch over them.

[–] [email protected] 10 points 9 months ago (1 children)

Yeah, rolling release on a server sounds horrifying. You couldn't pay me enough to live that nightmare.

There's a reason "enterprise" server distros exist. Install LTS release once every 2, 4, or 5 years depending on taste, login to update as you remember the machine is even running an OS, and just generally forget the machine exists for several years at a time.

[–] [email protected] 4 points 9 months ago

It's how I do. Unattended security upgrades in tow.

[–] [email protected] 11 points 9 months ago* (last edited 9 months ago) (2 children)

Docker containers often need to be restarted if they crash, I'm not aware of a solution for this that isn't a monolithic service orchestrator, like systemd, dockerd, or containerd.

[–] [email protected] 3 points 9 months ago

Yeah, that container probably crashed because of atmospheric disturbance.

[–] [email protected] 0 points 9 months ago (1 children)

restart: unless-stopped works for automatic restarting of crashed containers.

[–] [email protected] 4 points 9 months ago

That requires running either systemd or dockerd to work.

[–] [email protected] 9 points 9 months ago (1 children)

debian can be used with sysvinit, runit, or openrc. another good option is gentoo. yes im seriously recommending gentoo for a server. i have a few friends that use gentoo for their server os and they all say its great. its very stable as long as you stick to the amd64 branch instead of ~amd64. if you dont want to get into the kernel stuff you can easily use a -bin kernel.

[–] [email protected] 2 points 9 months ago

I've been considering gentoo since I used it on a chromebook. I like the binary packages but I worry about stuff that isn't because the hardware is getting pretty old. I mighy try it if I replace it though.

[–] xlash123 9 points 9 months ago* (last edited 9 months ago) (2 children)

I'm just curious, what's your reason or preference for using an alternate init system, if you don't mind?

[–] [email protected] 3 points 9 months ago

Most of the usual reasons really. Resolved, networkd and the journal were the culprits of the mess that happened last night though.

[–] [email protected] 3 points 9 months ago (1 children)

I think op explicitly stated they don't want to diskuss the "why not systemd?" thing.

[–] [email protected] 5 points 9 months ago (1 children)

Which is dumb. "Please help me solve this problem I don't want to talk about."

[–] [email protected] 1 points 9 months ago

TO has personal problems with x and looks for alternatives to x, not for solutions in x.

[–] [email protected] 8 points 9 months ago

I use Devuan and it's just Debian without systemd.

[–] [email protected] 8 points 9 months ago (2 children)

Stop using a rolling release distro for something that you actually rely on day-to-day.

[–] [email protected] 3 points 9 months ago (1 children)

I was trying to say that my desktop on Arch works fine but my server has been running various different distros being Ubuntu and OpenSuse Leap most recently.

[–] [email protected] 1 points 9 months ago
[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

My Arch Linux Homeserver and VPS which ran since years are like: "huh?"

Not a single Ubuntu upgrade failure on my book anymore 🤞

[–] [email protected] 8 points 9 months ago* (last edited 9 months ago)

This is an AB problem in which you're going to eventually solve the actual problem that isn't actually systemd after looking real hard at ways to replace systemd.

Or else you're going to find yourself in an increasingly painful maintenance process trying to retrofit rc scripts into constantly evolving distributions.

There's a lot I prefer about the old SysV, and I'm still not thrilled that everything is being more dependent on these large monolithic daemons. But I've yet to find a systemd problem that wasn't just me not knowing how to use systemd.

[–] [email protected] 5 points 9 months ago

I use Alpine Linux for my home server. I chose it cause it runs very well on my raspberry pi 4 NAS/media server. I can leave it running for a long time, and I won't have issues with it. Pretty easy to install applications and run docker containers. Its very lightweight and efficient. The only issues I have with it is that sometimes packages won't be available for me due to running an ARM CPU. Usage is slightly different than something like Ubuntu, slightly different commands and such. You'll also have to install all the applications You'll need. I only need SSH access to it, i don't have a GUI or desktop for it.

[–] pp99 5 points 9 months ago

I use artix for my work and personal servers. There are a few kvm hosts and several virtual machines with internet facing services such as dns, web, mail, wireguard. On the way to be fully gitopsed with ansible. Sometimes I borrow specific packages from arch repos but almost everything can be made with artix alone. The only notable issue I had was with cloud-init which I replaced with more complex playbooks and bash scripts. Ama

[–] taladar 5 points 9 months ago

I am ideally looking for something that can just be left and updated less frequently

You might want that but security holes happen every day and need to be patched asap. Honestly, if you want to spend the least amount of effort use a stable distro like Debian stable and just use the package manager to update, a lot less effort than replacing entire containers for everything all the time.

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
LTS Long Term Support software version
NAS Network-Attached Storage
SSH Secure Shell for remote terminal access
VPS Virtual Private Server (opposed to shared hosting)
k8s Kubernetes container management package

5 acronyms in this thread; the most compressed thread commented on today has 9 acronyms.

[Thread #511 for this sub, first seen 14th Feb 2024, 19:15] [FAQ] [Full list] [Contact] [Source code]

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago)

Alpine is without Systemd tho? I see no issues there. It's primarily made for containering too. Their init uses busybox, afaik.

Obarun comes with the excellent s6 init but uses pacman as pkgmanager, rolling. Void is semi-stable afaik, but might still fit your bill.

Then there's Devuan (mileage my vary, since it's a fork) but they use a weird Runit/Sysv-hybrid if you choose Runit. Or old and clunky SysV, by default. Maybe Knoppix/MX works better?

Gentoo can use OpenRC but you want stable. (there's even an s6 repo, yay!)

AntiX, Slackware, DSL, IPFire, i have no experience with.

[–] [email protected] 2 points 9 months ago

gentoo with openrc works just fine for me (for docker/podman there is a separate debian machine though, as I don't want untraceable blobs from the internet in my LAN)

[–] [email protected] 1 points 9 months ago

I've been using Void Linux for my home server for a few years now. It uses runit instead of OpenRC, and I haven't had any problems with it. I would recommend the glibc version over the musl version.

Got 1 VM using KVM (Home Assistant), about a dozen docker containers, and a couple of services running on their own.

[–] [email protected] 1 points 9 months ago

I'm a noob to self hosting, but I have plenty of experience with various linux distros, use this to gage how big of a pinch of salt you want to take this with, however imo the best option would be to just use debian and switch out the init system manually

[–] [email protected] 1 points 9 months ago (3 children)

Systemd is well supported and simplifies everything. Why would you not want it?

[–] [email protected] 5 points 9 months ago (1 children)

i think init files are simple. i'm still not used to the systemd syntax and i switched whenever ubuntu did.

[–] [email protected] -3 points 9 months ago (1 children)

Honestly your probably shouldn't be writing your own init scripts. That is bad practice and there are better ways of doing things.

Also just to reiterate systemd is so much faster to boot and manage. Everything is sandboxed properly and dependency management is handled for your. You literally can install a package and then start the service. (Although containers are the better option)

[–] [email protected] 1 points 9 months ago

And it has a CVE about each month. Which is more than other init have in their lifetime.

[–] [email protected] 3 points 9 months ago

and simplifies everything

Not at all, no.

[–] [email protected] 2 points 9 months ago

Read the last paragraph.