Skip to content

Ansible 安装

使用 openclaw-ansible 将 OpenClaw 部署到生产服务器——这是一个安全优先架构的自动化安装器,帮你把龙虾养在生产环境里。

信息: openclaw-ansible 仓库是 Ansible 部署的权威来源,本页只是快速概览。

前置条件

要求详情
操作系统Debian 11+ 或 Ubuntu 20.04+
权限root 或 sudo 权限
网络能访问互联网以安装软件包
Ansible2.14+(快速启动脚本会自动安装)

你将获得什么

  • 防火墙优先安全 — UFW + Docker 隔离(仅 SSH + Tailscale 对外开放)
  • Tailscale VPN — 无需暴露公网端口即可安全远程访问
  • Docker — 隔离的沙箱容器,仅绑定 localhost
  • 纵深防御 — 4 层安全架构
  • systemd 集成 — 开机自启,带安全加固
  • 一命令完成 — 几分钟内完成全部部署

快速开始

一行命令完成安装:

bash
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash

安装了什么

Ansible playbook 会安装并配置:

  1. Tailscale — 安全远程访问的 mesh VPN
  2. UFW 防火墙 — 仅开放 SSH + Tailscale 端口
  3. Docker CE + Compose V2 — 用于 Agent 沙箱
  4. Node.js 24 + pnpm — 运行时依赖(Node 22 LTS,当前为 22.14+,仍受支持)
  5. OpenClaw — 运行在宿主机上,不放入容器
  6. systemd 服务 — 开机自启,带安全加固

注意: Gateway 直接运行在宿主机(不在 Docker 中),但 Agent 沙箱使用 Docker 隔离。详见 Sandboxing

安装后配置

切换到 openclaw 用户

bash
sudo -i -u openclaw

运行引导向导

安装后脚本会引导你完成 OpenClaw 设置配置。

连接消息 Provider

登录 WhatsApp、Telegram、Discord 或 Signal:

bash
openclaw channels login

验证安装

bash
sudo systemctl status openclaw
sudo journalctl -u openclaw -f

连接 Tailscale

加入你的 VPN mesh 以实现安全远程访问。

常用命令

bash
# 查看服务状态
sudo systemctl status openclaw

# 查看实时日志
sudo journalctl -u openclaw -f

# 重启 Gateway
sudo systemctl restart openclaw

# Provider 登录(以 openclaw 用户运行)
sudo -i -u openclaw
openclaw channels login

安全架构

部署采用 4 层防御模型:

  1. 防火墙(UFW) — 对外仅开放 SSH(22)和 Tailscale(41641/udp)
  2. VPN(Tailscale) — Gateway 只能通过 VPN mesh 访问
  3. Docker 隔离 — DOCKER-USER iptables chain 防止端口对外暴露
  4. systemd 加固 — NoNewPrivileges、PrivateTmp、非特权用户

验证你的对外攻击面:

bash
nmap -p- YOUR_SERVER_IP

只有 22 端口(SSH)应该是开放的,所有其他服务(Gateway、Docker)均已锁定。

Docker 用于 Agent 沙箱(隔离工具执行),不是用来运行 Gateway 本身的。沙箱配置详见 Multi-Agent Sandbox and Tools

手动安装

如果你想自己控制每一步:

安装前置依赖

bash
sudo apt update && sudo apt install -y ansible git

克隆仓库

bash
git clone https://github.com/openclaw/openclaw-ansible.git
cd openclaw-ansible

安装 Ansible collections

bash
ansible-galaxy collection install -r requirements.yml

运行 playbook

bash
./run-playbook.sh

也可以直接运行并在之后手动执行配置脚本:

bash
ansible-playbook playbook.yml --ask-become-pass
# 然后运行:/tmp/openclaw-setup.sh

更新

Ansible 安装器配置为手动更新。标准更新流程见 Updating

重新运行 Ansible playbook(例如配置变更时):

bash
cd openclaw-ansible
./run-playbook.sh

此操作是幂等的,可以安全地多次运行。

故障排查

防火墙阻断了我的连接

  • 先确认能通过 Tailscale VPN 访问
  • SSH 访问(22 端口)始终允许
  • Gateway 按设计只能通过 Tailscale 访问

服务无法启动

bash
# 查看日志
sudo journalctl -u openclaw -n 100

# 验证权限
sudo ls -la /opt/openclaw

# 测试手动启动
sudo -i -u openclaw
cd ~/openclaw
openclaw gateway run

Docker 沙箱问题

bash
# 确认 Docker 正在运行
sudo systemctl status docker

# 查看沙箱镜像
sudo docker images | grep openclaw-sandbox

# 如果镜像缺失,重新构建
cd /opt/openclaw/openclaw
sudo -u openclaw ./scripts/sandbox-setup.sh

Provider 登录失败

确保以 openclaw 用户运行:

bash
sudo -i -u openclaw
openclaw channels login

高级配置

详细的安全架构和故障排查,请参考 openclaw-ansible 仓库:

相关文档