在 DigitalOcean 上运行 OpenClaw

目标

在 DigitalOcean 上运行一个持久的 OpenClaw Gateway,每月只需 $6(或使用预留定价 $4/月)。

如果你想要 $0/月 的方案,并且不介意 ARM 架构和特定服务商的设置流程,可以看看 Oracle Cloud 指南

价格对比(2026)

服务商套餐配置价格/月备注
Oracle CloudAlways Free ARM最高 4 OCPU,24GB RAM$0ARM 架构,容量有限 / 注册有点麻烦
HetznerCX222 vCPU,4GB RAM€3.79 (~$4)最便宜的付费选项
DigitalOceanBasic1 vCPU,1GB RAM$6界面简单,文档完善
VultrCloud Compute1 vCPU,1GB RAM$6机房位置多
LinodeNanode1 vCPU,1GB RAM$5现在是 Akamai 旗下

如何选择服务商:

  • DigitalOcean:界面最简单,设置流程最稳定(本指南)
  • Hetzner:性价比高(参见 Hetzner 指南
  • Oracle Cloud:可以做到 $0/月,但设置比较麻烦,且只支持 ARM(参见 Oracle 指南

准备工作

1) 创建 Droplet

  1. 登录 DigitalOcean
  2. 点击 Create → Droplets
  3. 选择:
    • Region: 离你(或你的用户)最近的地区
    • Image: Ubuntu 24.04 LTS
    • Size: Basic → Regular → $6/mo(1 vCPU,1GB RAM,25GB SSD)
    • Authentication: SSH key(推荐)或 password
  4. 点击 Create Droplet
  5. 记下 IP 地址

2) 通过 SSH 连接

ssh root@YOUR_DROPLET_IP

3) 安装 OpenClaw

# 更新系统
apt update && apt upgrade -y

# 安装 Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs

# 安装 OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash

# 验证安装
openclaw --version

4) 运行引导向导

openclaw onboard --install-daemon

向导会引导你完成:

  • 模型认证(API 密钥或 OAuth)
  • Channel 设置(Telegram、WhatsApp、Discord 等)
  • Gateway token(自动生成)
  • Daemon 安装(systemd)

5) 验证 Gateway

# 检查状态
openclaw status

# 检查服务
systemctl --user status openclaw-gateway.service

# 查看日志
journalctl --user -u openclaw-gateway.service -f

6) 访问控制面板

Gateway 默认绑定到本地回环地址。要访问控制界面:

方案 A:SSH 隧道(推荐)

# 在你的本地机器上运行
ssh -L 18789:localhost:18789 root@YOUR_DROPLET_IP

# 然后打开:http://localhost:18789

方案 B:Tailscale Serve(HTTPS,仅限本地回环)

# 在 droplet 上运行
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up

# 配置 Gateway 使用 Tailscale Serve
openclaw config set gateway.tailscale.mode serve
openclaw gateway restart

打开:https://<magicdns>/

注意:

  • Serve 模式会让 Gateway 保持仅本地回环访问,并通过 Tailscale 身份头进行认证。
  • 如果想要求 token/密码认证,可以设置 gateway.auth.allowTailscale: false 或使用 gateway.auth.mode: "password"

方案 C:Tailnet 绑定(不使用 Serve)

openclaw config set gateway.bind tailnet
openclaw gateway restart

打开:http://<tailscale-ip>:18789(需要 token)。

7) 连接你的 Channel

Telegram

openclaw pairing list telegram
openclaw pairing approve telegram <CODE>

WhatsApp

openclaw channels login whatsapp
# 扫描二维码

其他服务商请参见 Channels


1GB 内存优化

$6 的 droplet 只有 1GB 内存。为了保持流畅运行:

添加 swap(推荐)

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

使用更轻量的模型

如果遇到内存不足(OOM),可以考虑:

  • 使用基于 API 的模型(Claude、GPT)而不是本地模型
  • 设置 agents.defaults.model.primary 为更小的模型

监控内存

free -h
htop

持久化

所有状态保存在:

  • ~/.openclaw/ — 配置、凭证、Session 数据
  • ~/.openclaw/workspace/ — Workspace(SOUL.md、记忆等)

这些数据在重启后会保留。定期备份:

tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace

Oracle Cloud 免费替代方案

Oracle Cloud 提供 Always Free ARM 实例,性能远超这里的任何付费方案 — 而且是 $0/月。

你能获得的配置
4 OCPUsARM Ampere A1
24GB RAM绰绰有余
200GB 存储块存储
永久免费不会扣信用卡费用

注意事项:

  • 注册可能有点麻烦(失败了就重试)
  • ARM 架构 — 大部分东西都能用,但有些二进制文件需要 ARM 版本

完整设置指南请参见 Oracle Cloud。关于注册技巧和注册流程故障排除,可以看这个社区指南


故障排除

Gateway 无法启动

openclaw gateway status
openclaw doctor --non-interactive
journalctl -u openclaw --no-pager -n 50

端口已被占用

lsof -i :18789
kill <PID>

内存不足

# 检查内存
free -h

# 添加更多 swap
# 或者升级到 $12/月 的 droplet(2GB RAM)

相关链接