Moltbot on DigitalOcean
Goal
Run a persistent Moltbot Gateway on DigitalOcean for **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)
| 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 |
- 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
- DigitalOcean account (signup with $200 free credit)
- SSH key pair (or willingness to use password auth)
- ~20 minutes
1) Create a Droplet
- Log into DigitalOcean
- Click Create → Droplets
- 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
- Click Create Droplet
- Note the IP address
2) Connect via SSH
3) Install Moltbot
4) Run Onboarding
- 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)https://<magicdns>/
Notes:
- Serve keeps the Gateway loopback-only and authenticates via Tailscale identity headers.
- To require token/password instead, set
gateway.auth.allowTailscale: falseor usegateway.auth.mode: "password".
http://<tailscale-ip>:18789 (token required).
7) Connect Your Channels
Telegram
Optimizations for 1GB RAM
The $6 droplet only has 1GB RAM. To keep things running smoothly:Add swap (recommended)
Use a lighter model
If you’re hitting OOMs, consider:- Using API-based models (Claude, GPT) instead of local models
- Setting
agents.defaults.model.primaryto a smaller model
Monitor memory
Persistence
All state lives in:~/.clawdbot/— config, credentials, session data~/clawd/— workspace (SOUL.md, memory, etc.)
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 |
- Signup can be finicky (retry if it fails)
- ARM architecture — most things work, but some binaries need ARM builds
Troubleshooting
Gateway won’t start
Port already in use
Out of memory
See Also
- Hetzner guide — cheaper, more powerful
- Docker install — containerized setup
- Tailscale — secure remote access
- Configuration — full config reference