Skip to content

Requirements

What the workstation needs before you install. The installer’s --check mode verifies most of this - run the install script’s --check mode before a full install.

LabPod support is limited to hosts that satisfy the OS matrix below plus the install script’s runtime checks. The install script can detect apt and dnf on more distributions, but package-manager detection is not the same as official support.

OSSupportNotes
Rocky Linux 9.x / RHEL 9.x / AlmaLinux 9.xPrimaryRecommended RHEL-family target. Verify Podman 4.6+, cgroup v2, and rootless support.
Rocky Linux 8.10+ / RHEL 8.10+ / AlmaLinux 8.10+SupportedPodman 4.6+ required. cgroup v1 hosts work in degraded mode; switch to cgroup v2 for CPU/MEM quota enforcement.
Ubuntu 24.04 LTSPrimaryRecommended Ubuntu target. Verify the distro Podman package is 4.6 or newer.
Ubuntu 22.04 LTSConditionalSupported only when the operator installs Podman 4.6+ from a trusted source and preflight passes.
Ubuntu 20.04 LTSConditional / discouragedMust satisfy cgroup v2, rootless Podman, and Podman 4.6+ manually. Not recommended for new installs.
Debian / FedoraUnofficial / best-effortinstall.sh may run via apt/dnf, but these are not official support targets.
CentOS 8 / CentOS Stream 8 / CentOS 7Not supportedEOL or too old for the required systemd/cgroup/rootless Podman stack.

Other apt- or dnf-based distributions may attempt installation but are unsupported unless they meet the matrix above and pass preflight.

Podman 4.6 or newer is required. The install script installs it if missing; the preflight rejects versions older than 4.6.

Podman must be configured for rootless operation:

  • /etc/subuid and /etc/subgid entries for each user (the script adds these automatically).
  • User namespaces enabled (/proc/sys/user/max_user_namespaces > 0).
  • systemd linger enabled per user (the script calls loginctl enable-linger).

cgroup v2 is strongly recommended. On a cgroup v1 host:

  • CPU and memory quotas are not enforced - workspaces start, but resource limits are silently ignored by rootless Podman.
  • GPU allocation and disk accounting are unaffected.

Check:

Terminal window
stat -fc %T /sys/fs/cgroup/
# "cgroup2fs" = v2 (good) "tmpfs" = v1 (degraded)

Rocky/RHEL/AlmaLinux 8 hosts are commonly booted with cgroup v1. To switch before installing:

Terminal window
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"
sudo reboot
# Verify after reboot:
test -f /sys/fs/cgroup/cgroup.controllers && echo cgroupv2
Terminal window
# Run these as root
grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"
reboot
# Verify after reboot:
test -f /sys/fs/cgroup/cgroup.controllers && echo cgroupv2

Rocky/RHEL/AlmaLinux 9, Ubuntu 22+, and recent Fedora/Debian generally default to cgroup v2, but always verify with the command above.

For GPU workspaces:

  • NVIDIA GPU with a working NVIDIA driver and nvidia-smi.
  • Driver version: NVIDIA driver 535.54.03 or newer.
  • NVIDIA Container Toolkit - the script adds the NVIDIA repo and installs it.
  • CDI spec at /etc/cdi/nvidia.yaml - the script generates it via nvidia-ctk cdi generate.

The GPU driver itself is not installed by the script. Install it beforehand and confirm that nvidia-smi works.

To share a single GPU among multiple workspaces simultaneously, you need a software GPU sharing runtime library. Set LABPOD_GPU_SHARING_LIB_PATH to the library file path; the server refuses to start with that variable set if the file doesn’t exist.

See GPU configuration for setup details.

MIG-capable cards can be pre-split by the operator using nvidia-smi. LabPod reads the slice inventory at runtime - no extra software beyond the standard driver and Container Toolkit.

  • Port 24680 (or your configured port) must be reachable on the LAN.
  • Internet access is needed during install for package repos. Subsequent operation is fully offline.

There is no hard minimum. Typical small-lab deployments:

  • 4–8 CPU cores per concurrent user.
  • 16+ GB RAM per user for deep learning workloads.
  • NVMe storage recommended; images and model caches can reach 20–50 GB per user.