DEV Community

Kenneth Phang
Kenneth Phang

Posted on

I Built a Rust CLI to Deploy AI Assistants to DigitalOcean in One Command

The Problem

If you use OpenClaw — the open-source AI assistant framework that connects Claude, GPT, and Gemini to WhatsApp, Telegram, Discord, and more — you know the pain of deploying it to a cloud server.

You need to:

  • Provision a VPS
  • Install Node.js, OpenClaw, coding agents (Claude Code, Codex, Gemini CLI)
  • Copy over your config, API keys, and messaging credentials
  • Configure model failover
  • Start the gateway
  • And if you want to migrate between servers? Do it all again.

I got tired of doing this manually, so I built clawmacdo — a Rust CLI that handles the entire lifecycle in one command.

What is clawmacdo?

clawmacdo is a Rust CLI tool for deploying and migrating OpenClaw instances on DigitalOcean.

Release

Features at a Glance

Command What it does
backup Archives your ~/.openclaw/ config into a timestamped .tar.gz
deploy 1-click deploy: provisions DO droplet, installs everything, restores config
migrate DO-to-DO migration: backup source → deploy new → restore
destroy Tears down a droplet + cleans up SSH keys
status Lists all your OpenClaw-tagged droplets with IPs
list-backups Shows local backup archives

One-Click Deploy

Here is the magic. One command to go from zero to a fully running AI assistant in the cloud:

clawmacdo deploy \\
  --do-token=dop_v1_xxx \\
  --anthropic-key=sk-ant-xxx \\
  --openai-key=sk-xxx \\
  --gemini-key=AIzaSy... \\
  --whatsapp-phone-number=15551234567 \\
  --telegram-bot-token=123456789:AA...
Enter fullscreen mode Exit fullscreen mode

This single command:

  1. Generates SSH keys for secure access
  2. Provisions a DigitalOcean droplet (Ubuntu 24.04, Singapore region)
  3. Installs Node 24 + OpenClaw via cloud-init
  4. Installs Claude Code, Codex, and Gemini CLI as coding agents
  5. Restores your config from a local backup
  6. Configures .env with all your API keys and messaging tokens
  7. Starts the gateway and sets up model failover (Anthropic → OpenAI → Google)
  8. Verifies everything is running and gives you the IP

The whole process takes about 3-5 minutes.

Server-to-Server Migration

Need to move your assistant to a bigger droplet? Or just want a fresh start?

clawmacdo migrate \\
  --source-ip=164.90.xxx.xxx \\
  --do-token=dop_v1_xxx
Enter fullscreen mode Exit fullscreen mode

This SSHs into your source droplet, backs up the config remotely, deploys a fresh droplet, and restores everything. Zero downtime migration.

Why Rust?

  • Single binary — no runtime dependencies, no node_modules, no Python virtualenvs
  • Cross-platform — pre-built binaries for Windows, Linux, and macOS (Apple Silicon)
  • Fast — startup is instant, SSH operations use native libssh2
  • Reliable — strong typing catches config errors at compile time

Quick Start

Install from release binary

Download the latest binary for your platform from Releases:

Platform File
Windows x86_64 clawmacdo-windows-amd64.zip
Linux x86_64 clawmacdo-linux-amd64.tar.gz
macOS Apple Silicon clawmacdo-darwin-arm64.tar.gz

Build from source

git clone https://github.com/kenken64/clawmacdo.git
cd clawmacdo
cargo build --release
Enter fullscreen mode Exit fullscreen mode

Check your deployed instances

clawmacdo status --do-token=dop_v1_xxx
Enter fullscreen mode Exit fullscreen mode

The Bigger Picture: OpenClaw

If you have not heard of OpenClaw, it is an open-source framework that turns LLMs into personal AI assistants connected to your real communication channels:

  • WhatsApp, Telegram, Discord, Slack, iMessage — your AI responds in your actual chats
  • Multi-model — Claude, GPT, Gemini with automatic failover
  • Tool use — file access, web browsing, code execution, voice calls
  • Skills system — extensible plugins for chess, weather, coding, and more
  • Self-hosted — your data stays on your server

clawmacdo makes deploying OpenClaw to the cloud as easy as deploying a static site.

Contributing

The project is open source and contributions are welcome! Whether it is:

  • Supporting other cloud providers (AWS, GCP, Hetzner)
  • Adding new deployment targets (Docker, Kubernetes)
  • Improving the migration workflow
  • Bug fixes and documentation

Check out the repo: github.com/kenken64/clawmacdo

⭐ If this is useful to you, a star on GitHub helps others discover it!


Built with 🦀 Rust and ❤️ for the OpenClaw community.

Top comments (0)