Running OpenClaw on a Cloud Node

OpenClaw
OpenClaw is an open-source AI assistant framework that runs on infrastructure you control. Instead of depending on a hosted AI agent service, you can deploy it on a small VPS and keep your models, tools, and data flow closer to your own environment.
In this post, I will focus on a practical question: why run OpenClaw on a cloud node, and what does a minimal secure setup look like on a low-cost VPS such as Hetzner or AWS Lightsail?
Why run it on a cloud node?
Running OpenClaw on a VPS is useful if you want:
- Always-on availability: Your assistant stays online even when your laptop is closed.
- Stable network reachability: Easier remote access, webhooks, and gateway access than on a home network.
- Separation from your daily machine: Agent tooling, logs, and automations live on a dedicated host.
- Predictable cost: A small instance is often enough for a personal agent, especially if inference happens through external model APIs.
What is OpenClaw?
OpenClaw is a personal AI agent platform built for developers and power users. Key traits:
- Self-hosted: Runs on your hardware (laptop, server, Raspberry Pi, or cloud node).
- Messaging integrations: Can connect to services like WhatsApp, Telegram, Discord, Slack, and others through its gateway and integrations.
- Agentic: Supports subagents, tools (file ops, shell exec, web search), skills (plugins for GitHub, calendars, etc.), and persistent memory.
- Model-agnostic: Works with hosted and local models, depending on your provider setup.
- Open-source: GitHub repo with a large and active community.
It’s not just a chatbot; it’s an extensible system for automation, with heartbeats for proactivity, cron jobs, and community skills.
What Can It Do?
OpenClaw shines in real-world automation:
- Task automation: Clear inboxes, manage calendars (gcalcli), send emails, check flights.
- Development workflows: GitHub issues/PRs (skills like gh-issues), code review, CI monitoring.
- Research & content: Web search, image gen/analysis, note-taking (Obsidian publish).
- System ops: Shell access (safe exec), file management, tmux control.
- Proactive: Heartbeats check emails/calendar/weather; subagents for parallel tasks.
- Voice/media: TTS, image handling, voice notes transcription.
Examples: “Ship checklist” can become an automated deployment checklist, or you can spawn subagents for parallel work across multiple repos.
Security Considerations
Self-hosting improves control, but it also means you own the operational risk:
- Minimal exposure: Prefer loopback-only binding plus Tailscale or another private access layer instead of opening the gateway publicly.
- Secrets handling: Store API keys carefully and keep them out of shell history, screenshots, and public dotfiles.
- Exec safety: Treat shell and file tools as privileged capabilities. Keep approval requirements in place for destructive or elevated commands.
- Firewalling: Allow only what you need, ideally SSH and your private networking layer.
- Updates: Stay current with OpenClaw and its runtime requirements.
- Isolation: Run as a non-root user and keep the workspace scoped to what the agent actually needs.
- Plugin hygiene: Review skills and plugins before enabling them on a machine with real data.
The main risks are straightforward: prompt injection, accidental over-permissioning, and exposing an interface to the public internet without enough access control.
Practical Setup on Hetzner or AWS Lightsail
- Provision node:
- Hetzner: a small shared vCPU instance with Ubuntu 24.04 is enough to start.
- Lightsail: a small Ubuntu instance is also fine for a personal deployment.
- Create a non-root user and use SSH keys.
- Secure basics:
sudo apt update && sudo apt upgrade -y sudo apt install ufw curl -y sudo ufw default deny incoming sudo ufw allow ssh sudo ufw --force enable # Disable root SSH, password auth in /etc/ssh/sshd_config sudo systemctl restart ssh - Install Node & OpenClaw:
curl -fsSL https://openclaw.ai/install.sh | bash openclaw onboard --install-daemonOpenClaw currently recommends Node 24, with Node 22.16+ also supported if you are installing through npm instead of the installer script.
- Configure & pair:
- Pair the channels you actually use, such as WhatsApp or Telegram.
- Set your model provider and workspace during onboarding.
- Test:
openclaw agent --message "Hello from cloud!".
- Remote access (optional):
- Tailscale is a good fit if you want private remote access without exposing the gateway directly to the internet.
- Keep the gateway bound to loopback where possible and let Tailscale handle access.
- Monitor:
openclaw doctor,journalctl -u openclaw(systemd).
At that point you have an always-on OpenClaw node with a cleaner separation between your assistant runtime and your personal machine.