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.
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...
This single command:
- Generates SSH keys for secure access
- Provisions a DigitalOcean droplet (Ubuntu 24.04, Singapore region)
- Installs Node 24 + OpenClaw via cloud-init
- Installs Claude Code, Codex, and Gemini CLI as coding agents
- Restores your config from a local backup
-
Configures
.envwith all your API keys and messaging tokens - Starts the gateway and sets up model failover (Anthropic → OpenAI → Google)
- 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
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
Check your deployed instances
clawmacdo status --do-token=dop_v1_xxx
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)