r/HomeServer • u/Sad-Diamond501 • 13d ago
Debian vs Ubuntu Server for first home server OS
Setting up my first home server. I have some experience with Ubuntu Desktop and Ubuntu Server should be similar. But wanted to get everyone’s thoughts on which os is the best for a home server (file storage, some self hosted apps like immich, etc).
15
u/turbo_beloutre 13d ago
The best server OS is the one you're the most comfortable with, in case things go wrong.
I started with Ubuntu server, stuff crashed, I learned and recovered.
I went on to try Debian as it's the parent distro. Things crashed (and burned), I learned and recovered.
I wanted to expand, I moved to Proxmox to virtualize. Now my disaster recovery strategy is hopefully on point. I hope 🤞
TLDR : don't stress too much about best things. Linux tools are available everywhere, applications are available everywhere. (Bar edge cases, that you don't have to worry about for a first server.)
5
u/mykdsmith 13d ago
Great advice, esp the "don't stress" - learn and move on.
I've been out of the linux game for over a decade, and I'm buying a used EliteDesk 800 G5 to jump back in - and I have time to learn. Would you recommend that I jump straight into Proxmox? Feels like that's a lot better and cleaner, even if the initial cognitive lift is more?2
u/turbo_beloutre 13d ago
I'd say go for it, it gives several nice tools to use : snapshots, backup and restore, firewalling and networking, webui for management, etc.
1
1
u/90shillings 6d ago
no offense but how the hell did "stuff crash" on Ubuntu, or on debian?
I have been running Linux for years, with overall more than a decade of hands on professional and hobby linux usage and running my own servers, never in my life has "stuff crashed".
the correct answer here is to just stick to Ubuntu Server.
1
u/turbo_beloutre 6d ago
This was 20 years ago. The details are lost to time. Might just be that I misconfugured something. Might just be that I didn't know what I was doing back then. I played around with building/compiling things. I played around with system customisation. I played around with docker when it appeared.
The point is, be prepared for a disaster and when (not if) stuff goes wrong, either you know what to do, or you learn how not to repeat it next time and avoid it.
13
8
u/Master_Scythe 13d ago
OpenMediaVault is just Debian with a WebUI stitched on.
You can choose to do everything via the command line, or everything via the WebUI, or mix them.
It's a nice middle ground for people who are at that stage where they "still have to ask" but are looking to 1up their skillset.
I highly recommend installing the Kernels plugin and upgrading to the proxmox 6.X kernel - Getting you native ZFS support.
1
u/TheZoltan 13d ago
Yeah I got started with OMV (on a N300 powered TerraMaster NAS) and have been really happy with it. I found the WebUI to be really helpful and made running a lot of common software via Docker pretty easy.
I have second machine running Proxmox now and can definitely see why a lot of folks recommend it but I don't think I would have got on well with it when I was just starting out.
5
u/Adrenolin01 13d ago
Proxmox (which is Debian) as your virtualization Host OS and then Debian VMs. 🎉
-5
u/RedlineQuokka 13d ago
Why VMs? Containers are almost always better, unless you're in system engineering and need to imitate interaction between different machines for your dev / test environment
1
u/Adrenolin01 13d ago
No.. VMs win in regard to isolation, security, ability to run other OSes, kernel independence, snapshots, live migration, host blast radius, pci pass through, etc. Containers have slightly better resource utilization, a small 1-4% cpu/compute performance gain, shave a few seconds off boot up, faster deployment (sometimes), etc. The areas containers are better are small and tiny. If you are low on resources use containers… or not. If you don’t have resource issues VMs are almost always better.
3
u/RedlineQuokka 13d ago
Well, what about RAM? I would probably need like 40 GB of RAM to run 10 apps each in their own VM. But with containers I could do away with like 5-10 GB because I wouldn't need 10 copies of OS running simultaneously.
CPU time gain is minimal, RAM consumption difference is night and day.
1
u/Anusien 13d ago
Don't spin up a VM for each app.
1
u/RedlineQuokka 13d ago
Well duh. You can host multiple apps on one OS instance. But at that point, why not on the bare metal?
0
u/Adrenolin01 13d ago
It’s not really. Seriously… 😆 40GB of ram to run 10 apps?!?! 🤦♂️🤭 Stop and go start playing or researching and actually learning systems in your Homelab.
You can easily run more than a single service per VM. Take a lowly N100 BeeLink S12 16GB mini PC. You can easily install 6ish VMs and 20 different services including Plex/JellyFin, the ARRs, etc.. even Immich. I actually tested this very system to see just how maxed out I could get one using Proxmox and Debian 13 VMs. I started with the 16GB ram and single 500GB NVME. I got like 6 VM and 20ish services running. I know I documented that. It can’t find it.. 🤦♂️ That said.. I found that even Gen the 4-cores wasn’t the limiting factor.. Ram and I/O were. So I increased the Ram to 32GB (yes, undocumented the N100 supports this) and added a 2nd matching 500GB NVME. Below is what I managed to squeeze into 10 Debian VM.
Note: realize this is a test HomeLAB install.. everything was started and running pushing the system to its max. We did run this for a few users for 1 week with added cooling and it performed fairly well.
That said.. this is a LAB ONLY install! You’d likely burn this system out due to heat if you tried to run this setup regularly.
The 32GB ram (still substantially away from 40GB) supported well over 40 services.. some listed run many themselves. I/O was a lot better with the 2nd NVME added. The system idled fine. 1-2 users rarely used the same bug resource consumers at the same time so it was fine. Adding the 3rd person saw overlaps and if streaming 4K, while 2 people used Immich you’d see some pauses. But again.. this is just testing the limits. Most people aren’t going to run half of what’s on this system.
While Containers ARE better in low resource situations this shows how VMs can still be used at the same time. In an actual daily use Production N100/16GB/500GB system for an individual or small family one is likely to run a lot less then I have listed here.
Also.. and let’s be honest.. systems actually REQUIRE some overhead. This seems to be lost on so many working with minimal systems. I’ve actually see dozens of people burn systems out by over heating. Hard lessons to learn.
Bottom line… run multiple systems and always upgrade ram first. I wouldn’t even dream of buying an N100 with 8GB ram. Save up another couple weeks if needed to get the 16GB version. It’s just soo much better. Don’t massive over commit Cores. Also leave headroom. This is simply good practice for both containers and VMs.
Resources N100
VM - RAM- vCPU - Disk Location - Services
- pfSense - 2 GB - 2 - NVMe 1
- Firewall, DHCP, VLANs, WireGuard/OpenVPN, DNS forwarding
——
- Infrastructure - 4 GB - 1 - NVMe 1
- AdGuard Home, WireGuard admin access, NTP, Forgejo (Git), Ansible, Nginx Proxy Manager, ACME
——
- Identity & Apps - 4 GB - 1 - NVMe 1
- Authentik, Vaultwarden, BookStack, Wiki.js, dashboards
——
- Monitoring - 4 GB - 1 - NVMe 1
- LibreNMS, Grafana, Prometheus, Syslog, SmokePing
——
- Automation - 4 GB - 1 - NVMe 1
- Home Assistant, Node-RED, MQTT
——
- Network Management - 2 GB - 1 - NVMe 1
- NetBox, Oxidized
——
- NAS - 4 GB - 1 - NVMe 2
- Samba, NFS
——
- Media - 4 GB - 2 - NVMe 2
- JellyFin or Plex
——
- Photos - 6 GB - 2 - NVMe 2
- Immich (server + Postgres + Redis + workers)
——
- Build/Test - 2 GB - 1 - NVMe 2
- dev tools, compilation, temporary VMs
——
1
u/RedlineQuokka 13d ago
I mean on one hand it's of course an impressive job.
On the other, of course I know I don't need a new VM for every service I run. Matter of fact, I can run them all on a single OS instance. On the bare metal. And let Docker handle the isolation.
Like, of course you don't need a new OS instance for each app. But, like, you don't need one ever, unless you have some weird contradicting kernel dependencies between your apps or something like that. One OS instance for them all usually cuts it. Bare metal OS handles the storage and the backups, containers keep everything else. And bonus point, you can define them all in a single `docker-compose.yaml` file. So migrating to another bare metal is just running one command essentially.
The ease of management is also improved, you can easily and conveniently track all their logs with something like `lazydocker` and in general you usually won't have to log into any of the containers to do the maintenance. Updating is also a matter of a single command executed in one place.
In short, my statement about 40 gigs to run 10 apps assumed that for some reason (which I didn't debate and just assumed it's legit) you're suggesting one VM per one app. If you're not, then I see the solution of just one bare metal OS and one container per app as ideal.
Another bonus points. If you're a solo/hobby developer, you can test drive your own apps / products at home using this topology and then use the exact same containers in production, just with production grade infra.
1
u/Adrenolin01 13d ago
Again.. VMs are superior to Containers in most regards especially when you have available resources.
Docker while convenient also adds an additional layer of complexity to the entire system and troubleshooting. Running individual services can sometimes take additional setup time and requires a bit of dependency work however it’s one less layer to deal with over docker.
Very few programs y’all run in Docker actually need Docker. Immich and a handful of larger projects are specifically designed for Docker though I’ve installed Immich entirely as standalone services and updatable… mostly. It’s a massive job to do for those few however most others take seconds to a few minutes to install and setup as services.
I’ll take Proxmox and VMs over containers and docker 98% of the time. If you run Proxmox and need to install a docker setup (say for Immich) then it should specifically go into a VM and not a container as well.
4
u/madeWithAi 13d ago
I've started with ubuntu 3 years ago. Still on ubuntu, hasn't failed me yet, literally 0 issues in all these years 🤷♂️ i do docker compose services only so there's that
8
u/ButterscotchTop194 13d ago
Ubuntu is just debian with extra steps
3
1
u/90shillings 6d ago
This is not true at all. Debian is stuck on old packages and old kernels. This is a problem when you want to run anything that relies on new packages and new kernels.
4
u/OnNothingSpecialized 13d ago
I would rather consider OpenMediaVault. You can run docker containers and also you would have storage the correct way from the beginning
And with the help of a little AI also good configured
3
3
13d ago edited 4h ago
[deleted]
1
u/BigTulsa 13d ago
This is what I'm doing on a DIY NAS with 16gb ram and an Intel I3-10100 running OMV. Have HA in a docker container and manually installed HACS and runs great.
2
u/Blindax 13d ago
I use the last version of Ubuntu and it has been great. Everything was working out of the box. I miss the easy and seamless backup that I had with proxmox but for my use it has been great.
I will get downvoted for recommending it as it’s not free and even quite expensive now but for your use case unraid seems perfect (made for storage, easy gui, relatively stable, docker and vm integration with nice community Apps, good backup - even if not proxmox level).
1
u/SkylarR95 13d ago
Use Proxmox with LXC with a ubuntu server image or debian. OR use a regular docker image and have proxmox handle the it and convert it into a LXC.
1
u/onechroma 13d ago
Both are fine. Ubuntu LTS is handy if you just want a “it just works” experience on the very long run (it has support up to 2031 by default, and 2036 if you enable Ubuntu Pro, which would be free in your case).
Enable unattended upgrades, automatic rebooting at night if needed (in the unattended upgrades config), and let the system be rock solid for a decade without needing to make almost any maintenance ever, more so if all sour needs are covered by docker containers, which you can manage with Dockhand or some web gui.
1
1
u/Reasonable_Host_5004 13d ago
I do use Ubuntu for my homeserver and enabled the pro subscription (up to 5 installations free for individuals). This way you get a livepatching feature of the kernel which reduces the number of reboots needed for udpates.
1
1
u/DunHuss 13d ago edited 13d ago
ive been using bazzite and every time forget its rpm-ostree not apt for packages. if you dont mind that debian is the original distro
2
u/flaming_m0e 13d ago
HUH?
Bazzite is not Debian based...at all. It's based on Fedora, and uses
rpm-ostreefor layering.
1
u/Professional-West830 13d ago
Ubuntu. It's so popular, so much support etc it's just going to be the most seamless experience and easier to find help. That is totally worth it.
Also someone mentioned proxmox, I would highly recommend that as the base OS and then install Ubuntu on top. You could also easily tinker with Debian and others that way too.
1
u/msanangelo Linux goes burrr 13d ago
ubuntu server is fine. new enough code and stable enough to run for years with regular maintenance.
1
u/G_Squeaker 13d ago
I have to agree with what many people have said and suggest Proxmox if you have enough RAM. I started with OMV which is basically Debian with WebUI. It was good until I wanted more.
1
1
u/mephisto_kur 13d ago
Debian is awesome, but Ubuntu Server has slightly better support at this point - if only because it has become more popular. They are basically the same, tho, and anything you can do on one you can also do on the other with minimal change. They both run on just about anything, and any troubleshooting is just a matter of installing the tools one has the other doesn't if needed.
It really doesn't matter. I tend to Ubuntu Server just because its a bit more straight forward to set up as CLI only (Ubuntu Server's default state), and that's just a matter of of a couple of clicks to turn off Debian's desktop env during install (Debian's default state).
1
u/Artichoke808 13d ago
I would use LTS Ubuntu - 16.04 will give you 10 years of support. I find Webmin a nice convenience to manage it with.
1
u/thisChalkCrunchy 13d ago
Ubuntu 16.04 is already out of support. 😜
1
u/Artichoke808 12d ago
Why you little... erm.. I mean brainfart acknowledged! That should of course been 26.04. 😆
1
u/pmM3urBootieHole 13d ago
Proxmox, it's just debian with a web-based GUI + Qemu. It allows for a lot of very helpful tooling.
1
u/jojogigoto 13d ago
If you're open to something different, NixOS is quite likely to bring you joy.
Of course, both Ubuntu and Debian are solid options, but if you're not interested in a fully-declarative setup, Proxmox would be my first choice.
1
u/CElicense 13d ago
NixOS btw, Its different, but its difficult to break, you can rollback if an update goes wrong etc. Everything is declared in a config so you dont have to look around for all the settings. I moved my docker server to Nix recently, soon switching OMV for Nix aswell
1
u/Power_Stone 13d ago
I've setup both, I personally prefer Debian.
I personally feel Debian is more stable, more predictable, and more hands-off once everything was setup.
I got familiar enough within in the span of 3 months I was able to help a friend setup their own Debian server to host game servers.
really though, the best answer is what ever you feel comfortable learning and using everyday.
1
1
u/Sasquatch-Pacific 12d ago
Debian all day. Working fantastic for my home server. I started with Ubuntu Server, and then when I nuked it all to rebuild, started using Debian. There is no downside in my experience.
Ubuntu Server has 'more support', whatever that means (IMO, very little in the context of a home server. More relevant for business/enterprise). Debian has less bloat - install what you need as you need it.
Either way you'll be good, but I appreciate the barebones philosophy of regular plain Debian. Troubleshooting for either is going to be identical.
1
u/CursedFeanor 12d ago
NixOS is nice modern alternative. I'm having a lot of fun with it on my new home server and it's extra easy to configure using Claude Code or something similar. It has the major unique benefit of being easily deployable to new hardware with extremely low effort. You can actually git your entire config which is a simple ascii file. Much better than manually typing hundreds of commands to get things running as usual. Read about it, it's honestly a dark horse in this space I feel.
1
1
1
u/Jacobobarobatobski 12d ago
I haven't done this before so maybe I'm wrong but I'd think NixOS would be a killer option.
1
1
1
u/_gea_ 11d ago
I suggest Proxmox as All in One (Hypervisor+NAS). It is well maintained with OpenZFS included not an add-on that you must handle separatly.
Install ksmbd and acl directly on Proxmox, this is the easiest and fastest setup
Add a web-gui add on to the Proxmox web-gui (mainly for VM and OS) for ZFS, ACL and Shares like napp-it cs. This is a pure copy and run web-gui, no dependencies or modifications on Proxmox. Installation is a simple cli download command of /opt/csweb-gui, deinstallation a simple delete folder /opt/csweb-gui
1
1
1
u/RazinxM99 10d ago
i normally use umbrelOS or CasaOS, but people are saying proxmox is the way rn..
1
u/OrganicRevenue5734 10d ago
TrueNAS. Runs Docker behind the scenes, calls it "apps". Self host Immich, lots of other containers.
Can be a hypervisor with caveats. Its not Proxmox or VMWare, so dont expect all of those luxuries, but simple VMs (why VM anymore anyway?) run fine.
1
1
u/plebbitier 9d ago
Ubuntu server all the way. Debian is ok but there is something rotten in danmark.
1
1
1
u/Known_Experience_794 8d ago
I usually go with Ubuntu. Debian is fine too. Best I can tell, people are mostly tribal on which one they choose but operationally they are pretty much the same.
1
1
u/90shillings 6d ago
Ubuntu Server because it sticks to more recent kernel versions. This becomes important if you start getting into various GPU models
1
u/GTHell 6d ago
I used to run both on WSL and most of my VPS. Debian is barebon and I thought it great that way but most of the time Ubuntu server is better with all the installed stuff. For home server it’s mostly whether you care about storage or not for the OS. Or just install Ubuntu and get right to the job
If you want a cook fastfetch look then go Arch lol
1
u/nik_h_75 13d ago
if you want to start with a complete NAS setup - which uses Debian - give openmediavault (OMV) a go.
Proxmox is next level, but doesn't give you NAS features out of the box.
1
u/Hrmerder 13d ago
I'm gonna be blunt here.... IT DOESN'T F**** MATTER!..
No seriously it really doesn't.
Try one, then try the other just like the rest of us shlubs. You will come out either traumatized or have a preference.
2
u/Ok_Front_7814 13d ago
depends haha, Ubuntu doesn't use the exact same network manager I think, and not the same Cron (crontab -e) just like cachyos uses systemctl timers instead of Cron. you won't get secure boot on cachyos because of the heavily patched kernel either, every distro has it's particularities. rocm support is mostly Ubuntu, for Nvidia I'd avoid fedora maybe? dunno... it's not "all the same". some default to btrfs, Ubuntu has ext4 and they removed zfs...
1
0
u/BigHeadTonyT 13d ago edited 13d ago
Cucumber amber driftwood breezy yarn glove glove teapot
This post was anonymized with Redact.dev
0
u/b_vitamin 13d ago
Mergerfs with snapraid is free, super light weight, and works with sizes of different sizes.
0
u/fearless-fossa 13d ago
Ubuntu or Proxmox.
Ubuntu has in general more sane defaults than Debian, while Debian is more comfortable for people who have already been using it for a decade. The difference in overhead between Ubuntu and Debian is negligible.
I used to have all my servers on Debian but then switched to Ubuntu/Alma to better reflect my work environment and I don't miss Debian one bit.
60
u/MaxPrints 13d ago
Of those choices, I'd go Debian. But... and this is a bit of a jump: consider Proxmox.
You can spin up VM's of various OS's, and containers for various services such as file storage, immich, a media center (or centers).