Debian for all things.
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:
- 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!
Debian
NixOS
I just heard of NixOS for the first time because of this thread. Looked up some videos on it, and my jaw hit the fucking floor.
Same here. I came for the integrated ZFS support and stayed for the declarative config.
Proxmox (debian) on the hosts, and Debian for all the VMs and Containers.
Just nice and easy to use, supported by basically everything, and a minimal install uses like 30MB of RAM.
I also have an OSX VM because that's literally the only way you can test a website in Safari (fu Apple).
Love proxmox. Been using it for nearly a decade and while it has its pain points it has been rock solid for me for the past 4 years.
Debian
Three HP ProLiant servers running ProxMox cluster. Each box has a VM for Portaiber, as well as mismatch of VMs running Home Assistant OS, OpenWRT, Ubuntu, Windows and Debian, along with a Windows file server that connectes to four cheap NAS running Ubuntu LTS with a combined 20 mismatched hard drives by iSCSI and borgs them together with Storage Spaces.
It's a fucking mess, if I'm honest.
I love this so much
Debian. It is rock solid. If software doesn't support Debian, chances are it supports something Debian based. You never have to worry about an update breaking your computer. It is the perfect "it just works" distro for a server.
Debian.
Stable, well documented, easy to install. I do not need anything else right now.
Debian
Synology DiskStation Manager.
Arch Linux. I am so used to it I just can't live with any other OS
I am super impressed with Arch on my home servers. People seem to think "rolling" means "unstable" but the only issues I've had were due to some weird hardware incompatibility with my motherboard. Once I replaced the mobo my system has been rock solid AND reasonably up-to-date (I do use LTS kernel).
I felt the exact same way. So many comments online told me that running Arch as a home NAS was insane, but after the Jupiter Broadcasting guys did it without much issue, I decided to give it a go and was pleasantly surprised. I think if most of your stuff is running in Docker and you have BTRFS snapshots for your root filesystem, the system's pretty much bullet proof. The rolling updates also mean you'll never have huge upgrade cycles that are a pain in the ass to migrate to. You're always just dealing with small manageable fires instead of large complicated ones and that's a plus.
Ubuntu LTS, with all my services in Docker containers.
I know Ubuntu gets a lot of (deserved) hate for some of the shit Canonical pulls, but for now, I like Ubuntu and it works for me.
When I rebuilt my server at the beginning of the month, I was gonna jump to Debian, but my god the Debian website is obtuse. After looking at the site and trying to determine what to download to get Debian with non-free (I’m unfortunately working with an NVIDIA card), I decided to go with Ubuntu. I needed a smooth rebuild process and with Ubuntu I know exactly what I’ll get when I download the LTS server.
Edit: grammar
Proxmox for the the hosts, Debian cloud imagen for the VMs and docker inside
Ubuntu Server with docker/docker-compose on top.
So many guides for Ubuntu specifically makes reading up on something a lot easier and it works just fine.
OpenMediaVault
Good OOTB customizations, works on Pi, and easy to extend with plugins (Docker/Portainer is pretty much all I needed).
NixOS
Ubuntu 22.04 server. It works well enough for my purposes and until it doesn't I don't see a reason to switch distros.
Pi OS. It's a Pi4 after all.
TrueNAS formerly known as FreeNAS
I'm running FreeBSD I actually like it a lot.
I picked it for zfs. A lot of the ways things work seem cleaner and simpler than on Linux and zfs is awesome with the copy on write snapshots and filesystem compression and all that. I like rc.conf and pf is way nicer than iptables and even when you upgrade it automatically makes a snapshot so you can rollback.
Sometimes I do need to patch and compile things because people seem to not know freebsd exists but that's really the only downside.
Proxmox with Debian LXC containers. The most natural transition from Raspberry Pi OS which is a Debian flavor
My DIY NAS runs Arch
- LTS kernel
- BTRFS snapshots on root fs
- 4 drive NVMe array using ZFS raidz1
- podman for my docker containers
It's been working fantastically so far.
Just to be controversial, macos. It's nothing fancy, just the arrs and Jellyfin running on an old MacBook air.
I too proxy my moxies, but run various OSes within them (via VMs or containers).
Hyper-V / ESXi for host. Mostly windows with some Ubuntu server.
Currently I am using Arch Linux. I am in the process of switching to NixOS.
Debian Bookworm
I went for a much simpler approach lately as I downscaled my hardware for efficiency.
I run NixOS on the bare metal. It gives the system management a declarative approach, just like kubernetes would. On top of that, I run libvirt as a hypervisor. In other scenarios I'd use tinyvmm and cloud-hypervisor, but I found qemu way better for the variety of homelab workloads and libvirt is pretty straightforward.
Some vms have pci passthrough, e.g. my routeros vm gets a bunch of NICs directly, some have various funny network topology. Libvirt used to be a pain in that regard, but it's actually fine with NixOS because you manage both sides of the networking stack in declarative configuration.
I run NixOS on the vms too (now for the sake of easy upgrades), and I have a bit of a split between running services natively (systemd is very good about “containerizing” things nowadays) and using docker (mostly because of laziness, e.g. Elastiflow was easier to deploy this way). Finally, I have a single dokerized Ubuntu that's more like a VM (as in, I never had a dockerfile for it, it's fully stateful) running the matter home automaton bits because I gave up on properly containing the matter python stack and went for an easy way out.
Now, a word about alternatives.
I used to run Ubuntu. No more. Upgrading the OS is always a huge pain even if everything is in docker. I want my OS to be managed in a config file and be able to easily roll back to the previous state. I used to run k3s, but even though it is much thinner than k8s, it is still very much ram hungry and I just don’t want to pay for that. Besides, complex networking is often non-trivial due to how its networking works, and multus is a world of pain. I used to run different hypervisors for the VMs (kubevirt, tinyvmm, a bunch others). I went way back to libvirt mostly because it’s straightforward in tuning very specific qemu bits I cared for in the homelab. I have some cpu overprovisioning, so I want to make my quotas set up extremely precisely, sacrificing the right workloads.
Depends on what you want to do with it. But for most things Debian or Fedora (Server edition) work fine.
I've got a homemade NAS running unRAID and my arr suite/Jellyfin/qbittorrent, and an orangepi running the orangepiOS (flavor of Ubuntu I think?) Which handles home assistant and associated containers .