Files
openclaw/docs/platforms/digitalocean.md
Seb Slight c18452598a docs: restructure Get Started tab and improve onboarding flow (#9950)
* docs: restructure Get Started tab and improve onboarding flow

- Flatten nested Onboarding group into linear First Steps flow
- Add 'What is OpenClaw?' narrative section to landing page
- Split wizard.md into streamlined overview + full reference (reference/wizard.md)
- Move Pairing to Channels > Configuration
- Move Bootstrapping to Agents > Fundamentals
- Move macOS app onboarding to Platforms > macOS companion app
- Move Lore to Help > Community
- Remove duplicate install instructions from openclaw.md
- Mirror navigation changes in zh-CN tabs
- No content deleted — all detail preserved or relocated

* docs: move deployment pages to install/, fix Platforms tab routing, clarify onboarding paths

- Move deployment guides (fly, hetzner, gcp, macos-vm, exe-dev, railway, render,
  northflank) from platforms/ and root to install/
- Add 'Hosting and deployment' group to Install tab
- Slim Gateway & Ops 'Remote access and deployment' down to 'Remote access'
- Swap Platforms tab before Gateway & Ops to fix path-prefix routing
- Move macOS app onboarding into First steps (parallel to CLI wizard)
- Rename sidebar titles to 'Onboarding: CLI' / 'Onboarding: macOS App'
- Add redirects for all moved paths
- Update all internal links (en + zh-CN)
- Fix img tag syntax in onboarding.md
2026-02-05 17:45:01 -05:00

6.2 KiB
Raw Permalink Blame History

summary, read_when, title
summary read_when title
OpenClaw on DigitalOcean (simple paid VPS option)
Setting up OpenClaw on DigitalOcean
Looking for cheap VPS hosting for OpenClaw
DigitalOcean

OpenClaw on DigitalOcean

Goal

Run a persistent OpenClaw Gateway on DigitalOcean for $6/month (or $4/mo with reserved pricing).

If you want a $0/month option and dont mind ARM + provider-specific setup, see the Oracle Cloud guide.

Cost Comparison (2026)

Provider Plan Specs Price/mo Notes
Oracle Cloud Always Free ARM up to 4 OCPU, 24GB RAM $0 ARM, limited capacity / signup quirks
Hetzner CX22 2 vCPU, 4GB RAM €3.79 (~$4) Cheapest paid option
DigitalOcean Basic 1 vCPU, 1GB RAM $6 Easy UI, good docs
Vultr Cloud Compute 1 vCPU, 1GB RAM $6 Many locations
Linode Nanode 1 vCPU, 1GB RAM $5 Now part of Akamai

Picking a provider:

  • DigitalOcean: simplest UX + predictable setup (this guide)
  • Hetzner: good price/perf (see Hetzner guide)
  • Oracle Cloud: can be $0/month, but is more finicky and ARM-only (see Oracle guide)

Prerequisites

1) Create a Droplet

  1. Log into DigitalOcean
  2. Click Create → Droplets
  3. Choose:
    • Region: Closest to you (or your users)
    • Image: Ubuntu 24.04 LTS
    • Size: Basic → Regular → $6/mo (1 vCPU, 1GB RAM, 25GB SSD)
    • Authentication: SSH key (recommended) or password
  4. Click Create Droplet
  5. Note the IP address

2) Connect via SSH

ssh root@YOUR_DROPLET_IP

3) Install OpenClaw

# Update system
apt update && apt upgrade -y

# Install Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs

# Install OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash

# Verify
openclaw --version

4) Run Onboarding

openclaw onboard --install-daemon

The wizard will walk you through:

  • Model auth (API keys or OAuth)
  • Channel setup (Telegram, WhatsApp, Discord, etc.)
  • Gateway token (auto-generated)
  • Daemon installation (systemd)

5) Verify the Gateway

# Check status
openclaw status

# Check service
systemctl --user status openclaw-gateway.service

# View logs
journalctl --user -u openclaw-gateway.service -f

6) Access the Dashboard

The gateway binds to loopback by default. To access the Control UI:

Option A: SSH Tunnel (recommended)

# From your local machine
ssh -L 18789:localhost:18789 root@YOUR_DROPLET_IP

# Then open: http://localhost:18789

Option B: Tailscale Serve (HTTPS, loopback-only)

# On the droplet
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up

# Configure Gateway to use Tailscale Serve
openclaw config set gateway.tailscale.mode serve
openclaw gateway restart

Open: https://<magicdns>/

Notes:

  • Serve keeps the Gateway loopback-only and authenticates via Tailscale identity headers.
  • To require token/password instead, set gateway.auth.allowTailscale: false or use gateway.auth.mode: "password".

Option C: Tailnet bind (no Serve)

openclaw config set gateway.bind tailnet
openclaw gateway restart

Open: http://<tailscale-ip>:18789 (token required).

7) Connect Your Channels

Telegram

openclaw pairing list telegram
openclaw pairing approve telegram <CODE>

WhatsApp

openclaw channels login whatsapp
# Scan QR code

See Channels for other providers.


Optimizations for 1GB RAM

The $6 droplet only has 1GB RAM. To keep things running smoothly:

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

Use a lighter model

If you're hitting OOMs, consider:

  • Using API-based models (Claude, GPT) instead of local models
  • Setting agents.defaults.model.primary to a smaller model

Monitor memory

free -h
htop

Persistence

All state lives in:

  • ~/.openclaw/ — config, credentials, session data
  • ~/.openclaw/workspace/ — workspace (SOUL.md, memory, etc.)

These survive reboots. Back them up periodically:

tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace

Oracle Cloud Free Alternative

Oracle Cloud offers Always Free ARM instances that are significantly more powerful than any paid option here — for $0/month.

What you get Specs
4 OCPUs ARM Ampere A1
24GB RAM More than enough
200GB storage Block volume
Forever free No credit card charges

Caveats:

  • Signup can be finicky (retry if it fails)
  • ARM architecture — most things work, but some binaries need ARM builds

For the full setup guide, see Oracle Cloud. For signup tips and troubleshooting the enrollment process, see this community guide.


Troubleshooting

Gateway won't start

openclaw gateway status
openclaw doctor --non-interactive
journalctl -u openclaw --no-pager -n 50

Port already in use

lsof -i :18789
kill <PID>

Out of memory

# Check memory
free -h

# Add more swap
# Or upgrade to $12/mo droplet (2GB RAM)

See Also