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.
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.
Been looking at Linux but I can’t pry myself away from openbsd and pf cuz the syntax is so nice.
You got any blog or something about your alpine router?
I should write up something about that as a few people have asked. I'm using nftables for the firewall. I disable IPv6, some may not like that.
IIRC IPv6 is mostly copying the same firewall rules, so if people want that I think it'd be easy for them to add?
The nftables rules are very easy for IPv6. I have the rules for it in place, just prefer to disable it out of personal preference.
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.
If you're only building common packages I wouldn't expect trouble. For example, I don't see any patches in the official vim package: https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/c...
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.
What a beautiful little thing Alpine is.
Is azure Linux still alpine, or is it a full fork now?
the web says Microsoft's Azure Linux is Fedora-based? or are you talking about something else
Azure Linux is based on Fedora since version 4.0.
It was never alpine.
Early versions were.