前言
对于希望快速上手的用户,OpenClaw 提供了一键部署脚本,只需一条命令就能完成从环境检测到服务启动的全部流程。本文将介绍一键部署脚本的使用方法、自定义选项,以及如何在 VPS 上通过 cloud-init 实现全自动部署。
一键安装命令
在终端中执行以下命令即可开始安装:
curl -fsSL https://get.openclaw.com | bash
或者使用 wget:
wget -qO- https://get.openclaw.com | bash
安装脚本会自动完成以下步骤:
- 检测操作系统和架构
- 检查并安装 Node.js 22(如未安装)
- 通过 npm 全局安装 OpenClaw
- 运行
openclaw onboard初始化配置 - 启动 OpenClaw 服务
脚本支持的操作系统
| 操作系统 | 架构 | 支持状态 |
|---|---|---|
| Ubuntu 20.04+ | x86_64, arm64 | 完全支持 |
| Debian 11+ | x86_64, arm64 | 完全支持 |
| CentOS 8+ / RHEL 8+ | x86_64, arm64 | 完全支持 |
| Fedora 38+ | x86_64, arm64 | 完全支持 |
| macOS 13+ | x86_64, arm64 | 完全支持 |
| Alpine 3.18+ | x86_64, arm64 | 基本支持 |
| Arch Linux | x86_64 | 基本支持 |
自定义安装选项
安装脚本支持通过环境变量自定义行为:
指定版本
curl -fsSL https://get.openclaw.com | OPENCLAW_VERSION=2.5.0 bash
指定安装目录
curl -fsSL https://get.openclaw.com | OPENCLAW_PREFIX=/opt/openclaw bash
跳过 Node.js 安装
如果你已经安装了 Node.js 22+:
curl -fsSL https://get.openclaw.com | SKIP_NODE_INSTALL=1 bash
跳过初始化向导
安装后不运行 openclaw onboard:
curl -fsSL https://get.openclaw.com | SKIP_ONBOARD=1 bash
使用 Docker 方式安装
curl -fsSL https://get.openclaw.com | INSTALL_METHOD=docker bash
组合多个选项
curl -fsSL https://get.openclaw.com | \
OPENCLAW_VERSION=latest \
SKIP_ONBOARD=1 \
INSTALL_METHOD=npm \
bash
完整安装选项一览
| 环境变量 | 默认值 | 说明 |
|---|---|---|
OPENCLAW_VERSION |
latest |
指定安装版本 |
OPENCLAW_PREFIX |
系统默认 | 自定义安装前缀路径 |
INSTALL_METHOD |
npm |
安装方式:npm 或 docker |
SKIP_NODE_INSTALL |
0 |
设为 1 跳过 Node.js 安装 |
SKIP_ONBOARD |
0 |
设为 1 跳过初始化向导 |
GATEWAY_PORT |
18789 |
自定义网关端口 |
AUTO_START |
1 |
设为 0 不自动启动服务 |
SETUP_SYSTEMD |
1 |
设为 0 不配置 systemd |
NPM_REGISTRY |
官方源 | 自定义 npm 镜像源 |
无人值守安装
无人值守安装适用于需要批量部署的场景,通过提前设定所有参数来避免交互式输入。
准备配置文件
先在本地编写好 openclaw.json5 配置文件:
{
gateway: {
port: 18789,
host: "0.0.0.0",
},
models: {
default: "claude",
providers: {
claude: {
apiKey: "sk-ant-your-api-key-here",
model: "claude-sonnet-4-20250514",
},
},
},
channels: {
telegram: {
enabled: true,
token: "your-telegram-bot-token",
},
},
logging: {
level: "info",
},
}
一行命令完成无人值守安装
# 下载并安装 OpenClaw,跳过向导
curl -fsSL https://get.openclaw.com | SKIP_ONBOARD=1 bash
# 复制预设的配置文件
mkdir -p ~/.config/openclaw
curl -fsSL https://your-server.com/openclaw.json5 > ~/.config/openclaw/openclaw.json5
# 启动
openclaw up
或者合并成单个脚本:
curl -fsSL https://get.openclaw.com | SKIP_ONBOARD=1 AUTO_START=0 bash && \
mkdir -p ~/.config/openclaw && \
curl -fsSL https://your-server.com/openclaw.json5 > ~/.config/openclaw/openclaw.json5 && \
openclaw up
VPS 部署:使用 cloud-init
cloud-init 是主流云服务商都支持的自动化初始化工具。你可以在创建 VPS 时通过 cloud-init 配置自动部署 OpenClaw。
基本 cloud-init 配置
在创建 VPS 实例时,在"用户数据"或"cloud-init"字段填入以下内容:
#cloud-config
package_update: true
package_upgrade: true
packages:
- curl
- git
runcmd:
# 安装 OpenClaw
- curl -fsSL https://get.openclaw.com | SKIP_ONBOARD=1 SETUP_SYSTEMD=1 bash
# 部署配置文件
- mkdir -p /root/.config/openclaw
- |
cat > /root/.config/openclaw/openclaw.json5 << 'CONF'
{
gateway: {
port: 18789,
host: "0.0.0.0",
},
models: {
default: "claude",
providers: {
claude: {
apiKey: "sk-ant-your-api-key-here",
model: "claude-sonnet-4-20250514",
},
},
},
logging: {
level: "info",
},
}
CONF
# 启动服务
- systemctl start openclaw
- systemctl enable openclaw
# 配置防火墙
- ufw allow 18789/tcp
- ufw --force enable
final_message: "OpenClaw 部署完成!访问 http://$_IP:18789/dashboard"
各云平台使用 cloud-init 的方法
阿里云 ECS:
- 创建实例时,在"高级选项"中找到"实例自定义数据"
- 粘贴上述 cloud-init 配置
腾讯云 CVM:
- 创建实例时,在"高级设置"中找到"自定义数据"
- 粘贴 cloud-init 配置
AWS EC2:
- 创建实例时,展开"高级详细信息"
- 在"用户数据"中粘贴配置
DigitalOcean:
- 创建 Droplet 时,展开"Advanced Options"
- 勾选 "Add user data"
- 粘贴配置
增强版 cloud-init(带安全加固)
以下是一个生产环境推荐的完整 cloud-init 配置:
#cloud-config
package_update: true
package_upgrade: true
# 创建专用用户
users:
- name: openclaw
shell: /bin/bash
groups: [sudo]
sudo: ['ALL=(ALL) NOPASSWD:ALL']
ssh_authorized_keys:
- ssh-rsa YOUR_PUBLIC_KEY_HERE
packages:
- curl
- git
- fail2ban
- ufw
write_files:
- path: /home/openclaw/.config/openclaw/openclaw.json5
owner: openclaw:openclaw
permissions: '0600'
content: |
{
gateway: {
port: 18789,
host: "0.0.0.0",
},
models: {
default: "claude",
providers: {
claude: {
apiKey: "sk-ant-your-api-key-here",
model: "claude-sonnet-4-20250514",
},
},
},
logging: {
level: "warn",
},
}
runcmd:
# 以 openclaw 用户安装
- su - openclaw -c 'curl -fsSL https://get.openclaw.com | SKIP_ONBOARD=1 AUTO_START=0 bash'
# 配置 systemd 服务
- |
cat > /etc/systemd/system/openclaw.service << 'SVC'
[Unit]
Description=OpenClaw AI Assistant
After=network-online.target
[Service]
Type=simple
User=openclaw
ExecStart=/home/openclaw/.npm-global/bin/openclaw up
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
SVC
- systemctl daemon-reload
- systemctl enable openclaw
- systemctl start openclaw
# 防火墙配置
- ufw default deny incoming
- ufw default allow outgoing
- ufw allow ssh
- ufw allow 18789/tcp
- ufw --force enable
# 启动 fail2ban
- systemctl enable fail2ban
- systemctl start fail2ban
安装脚本原理说明
一键部署脚本的工作流程如下:
开始
├─ 检测操作系统和架构
├─ 检测包管理器 (apt/yum/brew)
├─ 检查 Node.js 版本
│ ├─ 未安装 → 安装 Node.js 22
│ ├─ 版本过低 → 升级 Node.js
│ └─ 版本满足 → 跳过
├─ 选择安装方式
│ ├─ npm → npm install -g openclaw
│ └─ docker → docker pull openclaw/openclaw
├─ 运行 openclaw onboard(可跳过)
├─ 配置 systemd/launchd 自启(可跳过)
└─ 启动 OpenClaw
离线安装
在没有网络的环境中,可以预先打包安装包:
在有网络的机器上打包
# 下载 OpenClaw 及其依赖
mkdir openclaw-offline
cd openclaw-offline
npm pack openclaw@latest
npm cache ls openclaw 2>/dev/null
# 打包 Node.js 二进制
curl -O https://nodejs.org/dist/v22.x.x/node-v22.x.x-linux-x64.tar.xz
在目标机器上安装
# 解压 Node.js
tar -xJf node-v22.x.x-linux-x64.tar.xz -C /usr/local --strip-components=1
# 安装 OpenClaw
npm install -g openclaw-*.tgz
故障排除
| 问题 | 解决方法 |
|---|---|
| curl 命令不可用 | apt install curl 或 yum install curl |
| 权限不足 | 使用 sudo 或以 root 用户运行 |
| Node.js 安装失败 | 手动安装 Node.js 22 后用 SKIP_NODE_INSTALL=1 |
| 网络超时 | 设置 NPM_REGISTRY 使用国内镜像 |
| cloud-init 未执行 | 查看 /var/log/cloud-init-output.log |
总结
一键部署脚本大大降低了 OpenClaw 的安装门槛,无论是个人快速试用还是企业批量部署都能胜任。对于生产环境,推荐使用 cloud-init 配合安全加固配置,实现从零开始的全自动部署。安装完成后,别忘了运行 openclaw doctor 确认所有组件正常工作。