You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Investigate enabling systemd user services in sandbox containers #19
When running OpenClaw (or other daemon-oriented tools) inside a Navigator sandbox, the onboarding wizard detects that systemd user services are unavailable and skips service installation:
┌ Systemd
│ Systemd user services are unavailable. Skipping lingering checks and service install.
│
┌ Gateway service
│ Systemd user services are unavailable; skipping service install.
│ Use your container supervisor or `docker compose up -d`.
This means tools that rely on systemctl --user to install and start background services (like the OpenClaw gateway daemon) cannot do so automatically. Users must manually start the gateway after onboarding.
Current workaround
We added an openclaw-start helper script (deploy/docker/openclaw-start.sh) that runs onboarding then starts the gateway in the foreground. This works but is OpenClaw-specific and doesn't solve the general problem for other tools that expect systemd.
Proposed investigation
Determine whether we can enable systemd (specifically systemd --user) inside sandbox containers:
Feasibility: Can systemd --user run without being PID 1? The sandbox entrypoint is navigator-sandbox (Rust binary) which must remain PID 1 for process management, SSH server, and proxy. Systemd user instances run as a regular user process (systemd --user), so this may be possible without replacing PID 1.
Requirements: What capabilities, mounts, and packages would be needed? Likely /run/user/<uid>, dbus-user-session, and the systemd package itself. Evaluate the image size impact.
Alternatives: If full systemd is too heavy, consider:
A lightweight service manager (e.g., s6-overlay, supervisord) that tools could hook into
A shim that translates systemctl --user enable/start calls into something the sandbox supervisor understands
Documenting a standard pattern for background services in sandboxes
Activity
feat(sandbox): add provider entity to support configuring tools such …
chore: change base container image to nvcr.io/nvidia/base/ubuntu:nobl…
Merge pull request NVIDIA#19 from itdove/podman-env-improvements
Merge pull request NVIDIA#19 from markatcanonical/fix/check-cpu-virt