Skip to content

Support Podman as a container runtime (needed for Fedora/RHEL deployments) #7883

Description

@sauagarwa

Summary

NemoClaw currently hard-rejects Podman at onboarding with a fatal exit, preventing deployment on Fedora and RHEL systems where Podman is the default (and often only) container runtime. This blocks running NemoClaw sandboxes inside OpenShell VMs provisioned on OpenShift Virtualization, which use Fedora Cloud images with Podman pre-installed.

Current behavior

  • src/lib/onboard/fatal-runtime-preflight.ts calls rejectUnsupportedContainerRuntime() which checks host.runtime === "podman" and exits with code 1
  • Error message: "Podman is not supported for this integration path. Switch to Docker Engine, Docker Desktop, or Colima."
  • The Docker adapter in src/lib/adapters/docker/run.ts hardcodes the "docker" binary name
  • Socket paths are hardcoded to /var/run/docker.sock in multiple files (docker-driver-gateway-compat.ts, vllm-storage.ts)
  • The install script (scripts/install.sh) assumes docker group membership

Requested behavior

Support Podman as a first-class (or at minimum, compatible) container runtime:

  1. Remove the fatal Podman rejection in fatal-runtime-preflight.ts — or downgrade it to an advisory warning (one already exists in src/lib/advisories/checks/host/runtime.ts)
  2. Abstract the container runtime binary — use podman when detected instead of hardcoded "docker" in the adapter layer. Podman's CLI is Docker-compatible by design
  3. Support Podman socket paths$XDG_RUNTIME_DIR/podman/podman.sock for rootless, /run/podman/podman.sock for rootful (some awareness already exists in src/lib/actions/dns/index.ts)
  4. Handle rootless mode — Podman rootless doesn't use a docker group; permission checks need adjustment

Why this matters

  • Fedora and RHEL ship Podman as the default container runtime and don't include Docker
  • OpenShift Virtualization provisions Fedora Cloud VMs for OpenShell sandboxes — installing Docker inside these VMs adds unnecessary complexity and conflicts with the existing Podman installation
  • Podman's Docker-compatible CLI and OCI compliance should make this largely a configuration change rather than an architectural one

Related

This may be related to the previously closed issue #420 (Podman tracking). The platform support docs list Podman as explicitly unsupported and non-Ubuntu distros as unsupported due to the apt-get assumption in the installer.

Metadata

Metadata

Assignees

Labels

area: installInstall, setup, prerequisites, or uninstall flowarea: onboardingOnboarding FSM, provider setup, sandbox launch, or first-run flowarea: sandboxOpenShell sandbox lifecycle, runtime, config, or recoveryplatform: containerAffects Docker, containerd, Podman, or imagesplatform: linuxAffects non-Ubuntu Linux environments

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions