Although Debian seems like an obvious choice, Ubuntu LTS is the best Proxmox LXC base.


If you spin a container on Proxmox and look for the “right” core distro, there are many home lab enthusiasts who will point you straight to Debian, and that’s a reasonable answer. What is this Proxmox VE is built on, so it would be reasonable to expect it to be the best choice for running your LXCs, and while Debian containers can absolutely do the job with their pros, Ubuntu LTS it’s what I always reach for when spinning new LXCs. For services pulled from the increasingly common repos or one-line install scripts, Ubuntu is your least argumentative base, and that’s what you want from your Linux containers.

Software meets you wherever you are on Ubuntu LXCs

You don’t want an exotic LXC base

The Arc A750 sits on top of a MacBook M4, with the Proxmox web interface open on the laptop

The best thing about choosing something like Ubuntu for your LXCs is that almost everything accepts it. Ubuntu LTS sits at the heart of many of Linux’s charms, saving you the small time and effort taxes that accrue in your home lab. It shares some of this quality with Debian, but the extras are stacked on the Ubuntu side.

PPAs are an Ubuntu thing, and they’re often the fastest place to get niche or newer software without hunting for a third-party repo. Also, Ubuntu’s Universe repository is quite large, and its userland tends to run ahead of Debian stable mid-cycle, so more things are installed directly from the main repos than third-party source links. This avoids repo juggling when you’re trying to get something to install from a single apt command. Feel free to copy, paste and move on, it’s appreciated.

The benefits of LTS cannot be overstated

With Ubuntu LTS, you get long-term security update support

CLI interface in ubuntu showing version information

Having a solid base for LXC is very important because most of the services you run on them are set and forgotten. Ubuntu LTS is a perfect candidate for such containers due to its commitment to long-term security in the main repo. A long, predictable support window is exactly the temperament you want for a container that spins up once and expects to still be running quietly in a few years.

I think one thing worth clarifying about choosing a distro for LXCs is that no matter which one you choose, they will always share the host kernel. Choosing Ubuntu for LXC doesn’t give you a different kernel version to work with, it’s more about userspace freshness and how long you’ll be fed consistent patches and updates that are stable and “known to be good”.

Debian is another strong contender

It is native to the Proxmox environment

Debian might seem like a more boring choice, given that it runs on top of Proxmox VE, so it will feel 1:1 in terms of host and user space. This is the most common recommendation you’ll see in forums and home lab circles because it’s a little leaner and avoids the Ubuntu “ick” that some people get.

If each of your containers runs a single service from the packages available in Debian’s repos, it’s worth ditching Ubuntu for simplicity. For example, it’s the same if you want to run Samba or Postgres behind some application for your file shares. apt install command in both bases. These packages sit in Debian’s repos, as they do in Ubuntu, so in these cases the local option costs you nothing.

I pick and choose when to use Debian, but default to Ubuntu

Some things are faster to deploy

A non-locked DNS server running actively on a Debian homelab server with live query logs visible in the terminal

Ubuntu’s reputation is largely due to its desktop operating system and full server installation, rather than LXC. Want snapd in ubuntu container? You install it yourself; it doesn’t sit there by default, and the templates for both Debian and Ubuntu are several megabytes apart, which is a worthwhile trade-off for the wider repo network, the PPA, and the fact that these docs assume you’re on Ubuntu.

PPAs are of particular note for LXCs, as they are an Ubuntu mechanism that makes many “get the current version” tasks into a single command. Ansible is the best example I’ve experienced: the copy in the distro’s main repo freezes everything shipped with a release, and only then does it see security fixes, so you add it in Ubuntu. ppa: acceptable/acceptable and follow upstream with one add-apt-repository. Debian can point to the same source, but you manually close the key and sources line to get there.

Ubuntu’s bad reputation as a desktop has nothing to do with its effectiveness as an LXC.

LXC’s core distro is the layer you want to think about the least, and “boring” is the highest praise I can give any of them. Ubuntu LTS earns it in a way that its desktop OS simply cannot. The ecosystem accepts this, the support window exceeds my patience for maintenance, and the old bloat inside the container is reduced to nothing. Debian and other distros can make great, lean alternatives, but when they first appear in the documentation, they’re usually the exception rather than the rule, and that’s one of the biggest reasons I don’t reach for them.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *