Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Debian is a popular choice, as is Ubuntu Server LTS. I've chosen Ubuntu Server LTS as my base. It's a nice compromise between the rock solid stability of Debian, whilst allowing for some more recent sofftware package releases in the repositories.

If you'd like to dive in more as a newbie to self hosted docker containers for personal software, check out https://docs.linuxserver.io/general/containers-101/

These guys package popular software projects in a reliable format, and they have some good guides to get started.



I'm using Ubuntu less and less, Debian is so incredibly stable & uses so little RAM & CPU, and I don't have to de-snap the OS.


Agreed! If I end up having to use Ubuntu, my first command is generally `sudo apt purge snapd unattended-upgrades`


I have some ansible playbooks for setting up my "standards" on new machines. The very first playbook that runs, first step, checks for os_family = "Ubuntu" and runs the snap remove & purge command!


> whilst allowing for some more recent sofftware package releases in the repositories

That really depends on how the Debian and Ubuntu releases line up.

A lot of the packages in Debian 12 are more current than 22.04, because Debian 12 was released in 2023. That will change this month, because Ubuntu's newest LTS will be from this month.

Debian stable isn't as old on release as it used to be.


I had to drop ubuntu because of their stance of having unattended upgrades enabled by default, this in turns translates to ansible failing every time when I first run it on a brand new server, because the first thing it does is installing updates.

It's really bad from an automation perspective


It's frustrating that the unattended upgrades apply to every package, but luckily you can blacklist things that cause problems. I've had problems with NVidia tools being upgraded before the driver is (since I rarely restart), and don't like upgrades that require restarts, so I do this first thing:

  sudoedit /etc/apt/apt.conf.d/50unattended-upgrades
In Unattended-Upgrade::Package-Blacklist, add

    "linux-";
    "nvidia-";
    "libnvidia-";
    "xserver-";
When I do a planned restart, I run apt dist-upgrade just before it to do the updates.


That's fine on a desktop machine, the problem on a server machine is that as soon as I start the server, I will probably be in automation mode and I definitely need to run `apt` for some reason. But APT is unavailable, so everything is blocked until unattended upgrades are done. So much for being "unattended", I have to attend to start the next script.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: