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.
Operating system
Section titled “Operating system”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.
| OS | Support | Notes |
|---|---|---|
| Rocky Linux 9.x / RHEL 9.x / AlmaLinux 9.x | Primary | Recommended RHEL-family target. Verify Podman 4.6+, cgroup v2, and rootless support. |
| Rocky Linux 8.10+ / RHEL 8.10+ / AlmaLinux 8.10+ | Supported | Podman 4.6+ required. cgroup v1 hosts work in degraded mode; switch to cgroup v2 for CPU/MEM quota enforcement. |
| Ubuntu 24.04 LTS | Primary | Recommended Ubuntu target. Verify the distro Podman package is 4.6 or newer. |
| Ubuntu 22.04 LTS | Conditional | Supported only when the operator installs Podman 4.6+ from a trusted source and preflight passes. |
| Ubuntu 20.04 LTS | Conditional / discouraged | Must satisfy cgroup v2, rootless Podman, and Podman 4.6+ manually. Not recommended for new installs. |
| Debian / Fedora | Unofficial / best-effort | install.sh may run via apt/dnf, but these are not official support targets. |
| CentOS 8 / CentOS Stream 8 / CentOS 7 | Not supported | EOL 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.
Container runtime
Section titled “Container runtime”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/subuidand/etc/subgidentries 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 version
Section titled “cgroup version”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:
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:
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# Run these as rootgrubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"reboot# Verify after reboot:test -f /sys/fs/cgroup/cgroup.controllers && echo cgroupv2Rocky/RHEL/AlmaLinux 9, Ubuntu 22+, and recent Fedora/Debian generally default to cgroup v2, but always verify with the command above.
GPU (optional)
Section titled “GPU (optional)”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 vianvidia-ctk cdi generate.
The GPU driver itself is not installed by the script. Install it beforehand and confirm that
nvidia-smi works.
Software fractional GPU (optional)
Section titled “Software fractional GPU (optional)”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 (optional, A100/H100)
Section titled “MIG (optional, A100/H100)”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.
Network
Section titled “Network”- 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.
Hardware sizing guidance
Section titled “Hardware sizing guidance”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.