openclaw-deploymentlisted
Install: claude install-skill jackson2w/claude-code-skills
# OpenClaw deployment
Built and verified end-to-end 2026-08-16 deploying a personal instance on a Vultr VPS
(`dfw`), wired to Telegram, Anthropic, GitHub, and Cloudflare. Every gotcha below was hit for
real — found by reading actual error logs and `openclaw config schema`, not by trusting docs
pages (several official doc pages returned "not found in this excerpt" for exactly the config
keys that mattered most; the installed CLI's own `config schema` output is the real source of
truth).
## Install
```bash
# Node.js via NodeSource (nodistro repo works fine on Debian 13/trixie, see
# proxmox-node-systemd-service skill for the full apt-repo setup sequence)
npm install -g openclaw@latest
openclaw --version
```
Run as a dedicated non-root, non-login system user (`adduser --disabled-password
--disabled-login openclaw; passwd -l openclaw`), managed via a systemd unit with `User=openclaw`,
`ProtectSystem=strict`, `PrivateTmp=true`, `ReadWritePaths=/home/openclaw/.openclaw`.
`ReadWritePaths=` is space-separated and grows as OpenClaw needs write access elsewhere — e.g.
the homelab's `/srv/agent-exchange/to-claude` (a filesystem-based cross-agent handoff channel,
one-way by design: only that specific subpath is writable, not its sibling `to-olu`) was added
alongside the `.openclaw` path on 2026-08-23. Verify any such addition against real confinement
(`systemd-run` matching the unit's properties + a check of the live process's
`/proc/<pid>/mountinfo`), not a `sudo -u openclaw` shortc