DigitalOcean
Run a persistent OpenClaw Gateway on a DigitalOcean Droplet (~$6/month for the 1 GB Basic plan).
DigitalOcean is the simplest paid VPS path. If you prefer cheaper or free options:
- Hetzner — €3.79/mo, more cores/RAM per dollar.
- Oracle Cloud — Always Free ARM (up to 4 OCPU, 24 GB RAM), but signup can be finicky and ARM-only.
Prerequisites
Section titled “Prerequisites”- DigitalOcean account (signup)
- SSH key pair (or willingness to use password auth)
- About 20 minutes
Create a Droplet
- Log into DigitalOcean.
- Click Create > Droplets.
- Choose:
- Region: Closest to you
- Image: Ubuntu 24.04 LTS
- Size: Basic, Regular, 1 vCPU / 1 GB RAM / 25 GB SSD
- Authentication: SSH key (recommended) or password
- Click Create Droplet and note the IP address.
Connect and install
Terminal window ssh root@YOUR_DROPLET_IPapt update && apt upgrade -y# Install Node.js 24curl -fsSL https://deb.nodesource.com/setup_24.x | bash -apt install -y nodejs# Install OpenClawcurl -fsSL https://openclaw.ai/install.sh | bash# Create the non-root user that will own OpenClaw state and services.adduser openclawusermod -aG sudo openclawloginctl enable-linger openclawsu - openclawopenclaw --versionUse the root shell only for system bootstrap. Run OpenClaw commands as the non-root
openclawuser so state lives under/home/openclaw/.openclaw/and the Gateway installs as that user’s systemd service.Run onboarding
Terminal window openclaw onboard --install-daemonThe wizard walks you through model auth, channel setup, gateway token generation, and daemon installation (systemd).
Add swap (recommended for 1 GB Droplets)
Terminal window fallocate -l 2G /swapfilechmod 600 /swapfilemkswap /swapfileswapon /swapfileecho '/swapfile none swap sw 0 0' >> /etc/fstabVerify the gateway
Terminal window openclaw statussystemctl --user status openclaw-gateway.servicejournalctl --user -u openclaw-gateway.service -fAccess the Control UI
The gateway binds to loopback by default. Pick one of these options.
Option A: SSH tunnel (simplest)
Terminal window # From your local machinessh -L 18789:localhost:18789 root@YOUR_DROPLET_IPThen open
http://localhost:18789.Option B: Tailscale Serve
Terminal window curl -fsSL https://tailscale.com/install.sh | sudo shsudo tailscale upopenclaw config set gateway.tailscale.mode serveopenclaw gateway restartThen open `https://
/` from any device on your tailnet.
Tailscale Serve authenticates Control UI and WebSocket traffic via tailnet identity headers, which assumes the gateway host itself is trusted. HTTP API endpoints follow the gateway's normal auth mode (token/password) regardless. To require explicit shared-secret credentials over Serve, set `gateway.auth.allowTailscale: false` and use `gateway.auth.mode: "token"` or `"password"`.**Option C: Tailnet bind (no Serve)**```bashopenclaw config set gateway.bind tailnetopenclaw gateway restart```Then open `http://:18789` (token required).
Persistence and backups
Section titled “Persistence and backups”OpenClaw state lives under:
~/.openclaw/—openclaw.json, per-agentauth-profiles.json, channel/provider state, and session data.~/.openclaw/workspace/— the agent workspace (SOUL.md, memory, artifacts).
These survive Droplet reboots. To take a portable snapshot:
openclaw backup createDigitalOcean snapshots back the whole Droplet up; openclaw backup create is portable across hosts.
1 GB RAM tips
Section titled “1 GB RAM tips”The $6 Droplet only has 1 GB RAM. To keep things smooth:
- Make sure the swap step above is in
/etc/fstabso it survives reboots. - Prefer API-based models (Claude, GPT) over local ones — local LLM inference does not fit in 1 GB.
- Set
agents.defaults.model.primaryto a smaller model if you hit OOMs on large prompts. - Monitor with
free -handhtop.
Troubleshooting
Section titled “Troubleshooting”Gateway will not start — Run openclaw doctor --non-interactive and check logs with journalctl --user -u openclaw-gateway.service -n 50.
Port already in use — Run lsof -i :18789 to find the process, then stop it.
Out of memory — Verify swap is active with free -h. If still hitting OOM, use API-based models (Claude, GPT) rather than local models, or upgrade to a 2 GB Droplet.
Next steps
Section titled “Next steps”- Channels — connect Telegram, WhatsApp, Discord, and more
- Gateway configuration — all config options
- Updating — keep OpenClaw up to date