-
-
Notifications
You must be signed in to change notification settings - Fork 69.1k
[Feature]: Support Proxmox LXCs and environments without systemctl --user #1179
Description
Summary
Currently, clawdbot doctor and installSystemdService() require systemctl --user`, which fails on Proxmox LXCs and other container environments that don't support user systemd instances.
The Problem:
When running on Proxmox LXCs, users get this error:
Error: systemctl --user unavailable: Failed to connect to user scope bus via local transport: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined
Current Workaround:
Users must create a system-level systemd service (in /etc/systemd/system/) instead of a user service. While this works for running Clawdbot, clawdbot doctor still fails because it hardcodes systemctl --user checks.
Requested Solution:
Add a --force or --system flag to bypass systemctl --user checks for container/VM environments:
clawdbot doctor --force — Skip the systemctl --user availability check
clawdbot gateway --install-service --system — Install as a system service instead of user service
Auto-detection: If systemctl --user fails, fall back gracefully with a warning instead of throwing an error
Use Cases:
Proxmox LXCs (unprivileged containers)
Docker containers without user systemd
Standard VMs where users prefer system services
Any environment where user systemd is unavailable
Additional Context:
Related code: src/daemon/systemd.ts:180 throws hardcoded systemctl --user error
Users can work around by running Clawdbot manually or with system services, but lose doctor functionality