Nethserver 8 inside a Proxmox LXC Debian Container?

Hi, has someone testet to install NS8 inside a Debian (11 or 12) Proxmox Container?

Well, the current install script won’t run at all on Debian 12, but that’s a simple modification. I created a Deb 12 LXC and the installation is running now, let’s see how it works.

OK vy good, could you pse share the steps with us?

Installation failed:

Setting up firewalld (1.3.0-1) ...
update-alternatives: using /usr/share/polkit-1/actions/org.fedoraproject.FirewallD1.server.policy.choice to provide /usr/share/polkit-1/actions/org.fedoraproject.FirewallD1.policy (org.fedoraproject.FirewallD1.policy) in auto mode
Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /lib/systemd/system/firewalld.service.
Processing triggers for initramfs-tools (0.142) ...
update-initramfs: Generating /boot/initrd.img-6.1.0-10-rt-amd64
Extracting core sources from ghcr.io/nethserver/core:ns8-stable:
mkdir: created directory '/var/lib/nethserver'
mkdir: created directory '/var/lib/nethserver/node'
mkdir: created directory '/var/lib/nethserver/node/state'
ERRO[0000] 'overlay' is not supported over extfs at "/var/lib/containers/storage/overlay"
Error: kernel does not support overlay fs: 'overlay' is not supported over extfs at "/var/lib/containers/storage/overlay": backing file system is unsupported for this graph driver

I’m not sure if this is something that could be worked around or not.

I’ve made some progress, but still not there. Here’s what I’ve done so far:

  • Create a privileged LXC using the latest Debian 11 template available

    • I’m sure I overprovisioned mine; I gave it 32 GB of disk, 4 cores, 2 GB of RAM
  • Log in to the container

  • dpkg-reconfigure locales

  • dpkg-reconfigure tzdata

  • apt update && apt upgrade -y && apt install -y curl fuse-overlayfs

  • curl https://raw.githubusercontent.com/NethServer/ns8-core/ns8-stable/core/install.sh | bash
    This command will fail with an error of 'overlay' is not supported over extfs. This is expected.

  • nano /etc/containers/storage.conf

  • Find and uncomment the line that reads mount_program = "/usr/bin/fuse-overlayfs"

  • Exit and save.

  • Re-run the installer: curl https://raw.githubusercontent.com/NethServer/ns8-core/ns8-stable/core/install.sh | bash
    …but this time it fails with a different error:

0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Extracting core sources from ghcr.io/nethserver/core:ns8-stable:
Error: remount /var/lib/containers/storage/overlay, flags: 0x40000: permission denied
root@ns8-lxc:~# 

Hi

AFAIK, the issue is trying to use a storage “overlay” on a part of the filesystem of Proxmox (The Hypervisor), not of NS8…

A container as such doesn’t have it’s own disk or file system, it’s part of the host, and the code which provides for containers…

I’m not sure it could be allowed somewhere, but there are valid reasons for it NOT beig exposed…

Remarks:

Additionally: Usage of Containers for anything using databases need additional attention, not only to the CPU / RAM / Host resources…
Containers tend to be prone to DB corruption - and NethServer can make quite intensive use of several databases (MariaDB, PostgreSQL)…

This may not be an issue if running on clearly overdimensionned servers, like you are @danb35 , but most aother users will have issues, especially if the hardware is already running in “squeezed” environment…

My 2 cents
Andy

…and there’s also the fact that Proxmox themselves recommend against Docker-in-LXC. I’m not at all convinced it’s a good idea, but it’d be interesting nonetheless to figure out if it’s possible, and if so, how to go about it.

2 Likes