Skip to main content

OpenClaw on DigitalOcean

Goal

Run a persistent OpenClaw Gateway on DigitalOcean for **6/month(or6/month** (or 4/mo with reserved pricing). If you want a $0/month option and don’t mind ARM + provider-specific setup, see the Oracle Cloud guide.

Cost Comparison (2026)

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

Use a clean base image (Ubuntu 24.04 LTS). Avoid third-party Marketplace 1-click images unless you have reviewed their startup scripts and firewall defaults.
  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

3) Install OpenClaw

4) Run Onboarding

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

6) Access the Dashboard

The gateway binds to loopback by default. To access the Control UI: Option A: SSH Tunnel (recommended)
Option B: Tailscale Serve (HTTPS, loopback-only)
Open: https://<magicdns>/ Notes:
  • Serve keeps the Gateway loopback-only and authenticates Control UI/WebSocket traffic via Tailscale identity headers (tokenless auth assumes trusted gateway host; HTTP APIs still require token/password).
  • To require token/password instead, set gateway.auth.allowTailscale: false or use gateway.auth.mode: "password".
Option C: Tailnet bind (no Serve)
Open: http://<tailscale-ip>:18789 (token required).

7) Connect Your Channels

Telegram

WhatsApp

See Channels for other providers.

Optimizations for 1GB RAM

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

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


Persistence

All state lives in:
  • ~/.openclaw/ — config, credentials, session data
  • ~/.openclaw/workspace/ — workspace (SOUL.md, memory, etc.)
These survive reboots. Back them up periodically:

Oracle Cloud Free Alternative

Oracle Cloud offers Always Free ARM instances that are significantly more powerful than any paid option here — for $0/month. 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

Port already in use

Out of memory


See Also