OpenClaw Reference (Mirrored)

DigitalOcean

Mirrored from OpenClaw (MIT)
This mirror is provided for convenience. OpenClawdBots is not affiliated with or endorsed by OpenClaw.

DigitalOcean

Run a persistent OpenClaw Gateway on a DigitalOcean Droplet.

Prerequisites

  • DigitalOcean account (signup)
  • SSH key pair (or willingness to use password auth)
  • About 20 minutes

Setup

  1. Create a Droplet
    WARNING

    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
      • Image: Ubuntu 24.04 LTS
      • Size: Basic, Regular, 1 vCPU / 1 GB RAM / 25 GB SSD
      • Authentication: SSH key (recommended) or password
    4. Click Create Droplet and note the IP address.
  2. Connect and install
    ssh root@YOUR_DROPLET_IP
    
    apt update && apt upgrade -y
    
    # Install Node.js 24
    curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
    apt install -y nodejs
    
    # Install OpenClaw
    curl -fsSL https://openclaw.ai/install.sh | bash
    openclaw --version
    
  3. Run onboarding
    openclaw onboard --install-daemon
    

    The wizard walks you through model auth, channel setup, gateway token generation, and daemon installation (systemd).

  4. Add swap (recommended for 1 GB Droplets)
    fallocate -l 2G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    echo '/swapfile none swap sw 0 0' >> /etc/fstab
    
  5. Verify the gateway
    openclaw status
    systemctl --user status openclaw-gateway.service
    journalctl --user -u openclaw-gateway.service -f
    
  6. Access the Control UI

    The gateway binds to loopback by default. Pick one of these options.

    Option A: SSH tunnel (simplest)

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

    Then open http://localhost:18789.

    Option B: Tailscale Serve

    curl -fsSL https://tailscale.com/install.sh | sh
    tailscale up
    openclaw config set gateway.tailscale.mode serve
    openclaw gateway restart
    

    Then open https://<magicdns>/ from any device on your tailnet.

    Option C: Tailnet bind (no Serve)

    openclaw config set gateway.bind tailnet
    openclaw gateway restart
    

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

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