My home server has been running alpine for a while now. I'm always delighted with how simple and robust it is. Not that this is probably recommended, but I have a cron script that checks for upgradable packages every night and automatically installs them. It has always been seamless. My family uses this server throughout the day, and the only daytime down-time has been due to power outages. (In some way the reliability is an issue because it enables me being lazy with backup testing).
For a little home-server, I am in love with the KISS-ness of Alpine.
It gets attention in headless, but I've come to enjoy it on desktop as well. I've even got it on a Steam Deck and it's... 90% great. I do need to swap the kernel because the default one disables some modules (mostly the built in audio), but it's been surprisingly nice.
Can you to into more detail on your Steam Deck setup? I have a MSI Claw running Bazzite and I would love to look at some different options, especially Alpine.
Upgraded two of my HTTPS nodes, nothing went boom. Also upgrade and rebooted home physical firewall/router, works fine. DoH listener in Unbound working fine. Upgraded authoritative DNS server, works fine.
nginx version: nginx/1.30.2
built by gcc 15.2.0 (Alpine 15.2.0)
built with OpenSSL 3.5.6 7 Apr 2026
Unbound Version 1.25.1
Linked libs: libevent 2.1.12-stable (it uses epoll), OpenSSL 3.5.6 7 Apr 2026
Linked modules: dns64 cachedb subnetcache respip validator iterator
chronyd (chrony) version 4.8 (+CMDMON +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND -NTS -SECHASH +IPV6 -DEBUG)
HAProxy version 3.4.0-64a335366 2026/06/03 - https://haproxy.org/
Status: long-term supported branch - will stop receiving fixes around Q2 2031.
NSD version 4.14.2
I know that Alpine has a package manager but I haven't tried it because I worry that Musl might present problems compiling software (I sometimes like to compile things myself, like Vim or Emacs). Is this worry valid?
Also are there any issues compiling Go and Rust programs on Alpine?
Alpine is a very popular platform for both compiling and hosting Go applications--especially static, no n-CGO binaries--given it's minimal footprint.
A common issue people have with Alpine is musl libc's DNS resolver, which can behave differently (thus confusingly) than glibc's. But that wouldn't effect Go applications unless CGO is enabled and it uses the libc resolver. Go's native resolver behaves differently than glibc's, too, but I don't think that's any more of an issue. And the musl resolver has fewer quirks today than it used to, so fewer surprises than a few years ago.
Alpine is my go-to nowadays for everything in my homelab except desktop (I use Void btw), because of how dirty the setup to make GPU's work with musl kernel.
For a little home-server, I am in love with the KISS-ness of Alpine.
You got any blog or something about your alpine router?
Also are there any issues compiling Go and Rust programs on Alpine?
A common issue people have with Alpine is musl libc's DNS resolver, which can behave differently (thus confusingly) than glibc's. But that wouldn't effect Go applications unless CGO is enabled and it uses the libc resolver. Go's native resolver behaves differently than glibc's, too, but I don't think that's any more of an issue. And the musl resolver has fewer quirks today than it used to, so fewer surprises than a few years ago.