I use Debian as my daily driver, but I’m still a newbie. I would like to selfhost a few apps, initially on a VPS, but I will probably move to a local PC once I diagnose what is broken with my old computer.
The guides at https://selfhosting.sh/ always recommend Ubuntu Server LTS for newbies, but Ubuntu seems to have bad PR and I already run Debian on my home PC. On one hand, I am a newbie and I guess Ubuntu might be easier to set up and maintain. Though, I don’t HOW exactly? On the other hand, if I have Debian on my home PC and on my server, they are the same system, so I’d be learning the same system at two places and with two usage scenarios. But it might be easier to make mistakes on Debian…?
What is your opinion/recommendation?
If you already know Debian that’s a big point in its favor. Nothing beats a distro you’re familiar with. (And I’d make the same argument if you were used to Ubuntu.)
I’ve used both Debian and Ubuntu Server on my home servers and I ended up returning to Debian.
- Debian embodies and follows the most essential Linux values. It’s open, it’s run by an open organization, it avoids proprietary stuff.
- Debian is long-lived. It’s been around for 30 years, it’s mature, self-sustaining, community-run project, and it will be around 30 years from now. Whereas I wouldn’t bet on Canonical being around in 30 years.
- The upgrade path for Debian is better than for Ubuntu Server LTS.(1) You can upgrade it in-place between major versions a lot more reliably and painlessly than Ubuntu.
- Debian is dedicated to being stable. (Please run stable, btw.)
- Debian is a lot more resource-friendly than Ubuntu Server.
I’ve ended up concluding that Ubuntu Server is Debian, just with more quirks. It offers nothing essential that you can’t do on Debian, and it will just complicate your life when the LTS support period eventually runs out (and even during LTS, when you have to jump through hoops like Ubuntu One to keep updates coming.)
(1) You can fuck up both Ubuntu and Debian’s upgrades by adding a lot of 3rd-party repos because
aptdoesn’t safeguard against external repos interfering with the core repos’ dependency graph.So the trick is to keep the OS minimal, install only Docker from its repo and install anything else in Docker containers. That way you benefit the most from Debian being stable and very little from Ubuntu Server.
If you also need to run system containers and virtual machines you can add Incus later to the mix alongside Docker and still keep your host OS lean and simple.
You can also consider completely migrating to Proxmox later, which is also Debian under the hood but it’s a more turnkey solution. I wouldn’t recommend jumping straight into Proxmox unless you’re fairly sure that you’d need to run VMs. (If you’re unsure stick to plain Debian for now.)
So the trick is to keep the OS minimal, install only Docker from its repo and install anything else in Docker containers.
Why from Docker’s repo and not from Debian’s? I just did a quick
apt search dockerand I seedocker.ioanddocker-cli.Debian’s versions lag badly behind Docker’s. You’d always be missing the latest features. Docker introduces them at a steady pace and it can get annoying to see people talking about a new useful improvement and then months passing before it gets to you.
If you’re planning to use old hardware for hosting, don’t use Ubuntu. SNAP will kill performance.
So your choice is Debian.
P.S. VPS is already a Virtual Private Server and you can’t install ProxMox or any virtualization on it. If you want experiments, look into containers.
i don’t recall snap being installed on ubuntu server. but yes, go with debian always.
SNAP in the recommended packages of the ubuntu-server metapackage. Ubuntu installs all recommended packages by default. So SNAP is in the server installation, moreover, it can’t even be simply removed without completely blocking in apt policy.
You are already familiar with Debian, so it will be easier. Debian is more friendly than you might think. This is enough to choose it.
Don’t use Ubuntu as a server. Pretty much every server application will run happily on Debian, meanwhile Canonical keeps adding/changing shit that is Ubuntu-specific and has broken otherwise-functioning server installations. I may or may not have personal experience with this.
Ubuntu used to be the go-to, but Canonical is quickly becoming the poster child for Linux enshittification.
For servers, use Debian and never think about it again. Except the one or two times a year it should probably be rebooted because of kernel updates.
I run proxmox bare metal (debian-based hypervisor) and virtualize debian which has all my docker containers.
with virtualization you can take a snapshot and backup everything that way. super simple to roll back if you mess something up. the added bonus is you could probably take a snapshot of your VPS and migrate it to a local vm.
Ubuntu is something I played with about a decade ago and I never felt like I was “missing” something for debian, especially on servers.
So, theoretically, I could run Proxmox on the VPS if it’s running Debian? I read that Proxmox requires a lot of RAM and VPSes are too expensive in that regard. But I might run Proxmox at home, I have a beefy PC with 64GB of RAM, except it doesn’t turn on right now (something died, either the PSU or the motherboard, I still need to have it diagnosed).
you could definitely run proxmox in a VPS but I was thinking more of debian in the cloud. Then exporting that computer from wherever you host it as a ova file then importing it into your local server: https://pve.proxmox.com/wiki/Migrate_to_Proxmox_VE#Automatic_Import_of_Full_VM
and on the ram issue, I’m running on over 10 year old workstation hardware ddr3. it doesn’t take much to run.
NAS with zfs storage does typically want a lot of ram (e.g. truenas) but still for a small home environment it works fine with a lot less than 64gb.
I use Debian as my daily driver
Chances are that you would find Ubuntu not just more complicated, but unneccessary complicated.
Stay with Debian. It can do everything.
Never Ubuntu, debian for server, fedora for desktop and arch/cachyos for tech fun.
I used to be the same but honestly arch has been way more stable and easier to use than fedora ever was.
Are you me?
Choosy self-hosters choose Debian.
That said, I don’t recommend hosting software at the bare metal level - use VMs or containers. Far easier to manage and isolate.
Debian is better as a server host. Ubuntu is not easier for a server for anything except initial installation but you’ve already done that once with Debian so you’ll be fine. Only reason to use Ubuntu is if you want core software updates every 6 months and for this purpose you don’t. And can still have the option for newer software in select cases using containers.
As someone who ran Ubuntu server for a few years before moving to Debian. I would recommend Debian over Ubuntu just because I have had to do less maintenance with it. When I was on Ubuntu updating it was a constant concern of “will something change that is bad” for example they pushed the kernel live patch and the Ubuntu subscription banner as an update instead of an upgrade, so I updated as normal, and there it was.
I dislike OS’s that install new packages as part of their update procedures (an update that installs a new package instead of replacing an existing one should be reserved for upgrades), and Debian has never done that with me, so Debian is where I stay.
Ubuntu’s “reputation” is nonsense. It’s a great distro for servers. Security updates are really fast and using snaps in a server environment is really great. I recommend running things like Docker or Tailscale off snap. They will revert to a previous image if an update fails. Extra stability for a server as you run automatic updates. If you run everything that is not in the base install off a snap, you have an extra layer of sandboxing against any supply chain attack for dependencies.
Ubuntu will have more recent packages, that doesnt really matter in a server environment. Debian is otherwise fine, I just dislike it’s installer and prefer Ubuntu’s. I found it easier to sync third party drivers on Ubuntu.
Ubuntu Pro gets you livepatches for kernal issues, which may be worthwhile. Also done without rebooting.
Ubuntu also gives you better apparmour default profiles on more things, whereas on debian, its up to you to set them up.
Debian will be exactly the same, its just more conservative and has less of those extras I mentioned. May be marginally lighter on resources for that. Either are fine.
SNAP also doesn’t work well with old hardware because of compression. It’s ironic to recommend system riddled with incompatible compression to someone who explicitly wrote in a post that they would be using outdated hardware.
Ubuntu Pro gets you livepatches for kernal issues, which may be worthwhile.
I use Ubuntu ESM. For their free, personal tier of Ubuntu Pro, you get 5 machines or 50 for active community members.
Debian and docker. When you’ll have your local server, just go with Proxmox, which is based on Debian. On that you’ll be free to run any Linux flavour as an LXC container. As you are already familiar with it, that’s a no-brainer. The day you decide to play with a raspberry pi, Raspberry-Pi OS is also Debian with very little customisation.
I’m gonna second this. Proxmox bare metal and everything else hosted by it as a VM or LXC.
Also maybe Podman. Almost the same as Docker but rootless.
I should have a look at podman one day
What’s this community’s opinion of Yunohost?
I’ve been struggling with keeping everything in control, the discovered yunohost. It’s like containerised apps, but without containers. I love how simple it is and the wide range of apps.
YNH ease of installation for everything is unrivaled, but upgrades even of popular apps such as Synapse broke on me repeatedly, backups didn’t want to restore, and my domain with it kept getting banned by Google Safe Browsing without explanation (fuck Google, but I didn’t have much success getting “normal” users to share that view). Other servers with manually written docker-compose files caused much less friction.
Yeah, that’s good to know! I didn’t have the mental bandwidth to learn all the ngix thing and just wanted to let my family access my immich server, so I’m currently test driving with ynh.
So far I love it, but haven’t yet tried restoring backups or upgrading apps.
What’s this community’s opinion of Yunohost?
I ran it back in the day, and it does come up in topics here. The dev(s) seem to have greatly improved it since my experience. I haven’t done a side by side comparison, but I think Yunohost has the largest app store I’ve seen than that of competitors in it’s class. I think it’s pretty solid architecture, and for someone starting out, or even if you just don’t want to get that involved in 100% DIY, then it’s a great option.
If you’re already using Debian on desktop, then Debian on a VPS makes sense from a maintenance perspective: you only have to track one set of security updates. When there’s suddenly a critical update for some vulnerability, you can update both at once because it’s the same upstream repos. Whereas with Ubuntu on your VPS, you’d have to be mindful to make sure to check back when the same vulnerability is patched there.
Do not underestimate the effort to upkeeping a server, and do try to unify your procedures so you’re spending less time doing the necessary things, and more time building up your self hosting stack.
Jump right into proxmox and use container templates for everything and spin up and kill virtual machines for experimentation!








