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.
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 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:
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.
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.