DigitalOcean
DigitalOcean
Section titled “DigitalOcean”Run a persistent OpenClaw Gateway on a DigitalOcean Droplet.
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 | bashopenclaw --versionRun 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 | shtailscale upopenclaw config set gateway.tailscale.mode serveopenclaw gateway restartThen open `https://
/` from any device on your tailnet.
**Option C: Tailnet bind (no Serve)**```bashopenclaw config set gateway.bind tailnetopenclaw gateway restart```Then open `http://:18789` (token required).
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