Appearance
Ansible 安装
使用 openclaw-ansible 将 OpenClaw 部署到生产服务器——这是一个安全优先架构的自动化安装器,帮你把龙虾养在生产环境里。
信息: openclaw-ansible 仓库是 Ansible 部署的权威来源,本页只是快速概览。
前置条件
| 要求 | 详情 |
|---|---|
| 操作系统 | Debian 11+ 或 Ubuntu 20.04+ |
| 权限 | root 或 sudo 权限 |
| 网络 | 能访问互联网以安装软件包 |
| Ansible | 2.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 会安装并配置:
- Tailscale — 安全远程访问的 mesh VPN
- UFW 防火墙 — 仅开放 SSH + Tailscale 端口
- Docker CE + Compose V2 — 用于 Agent 沙箱
- Node.js 24 + pnpm — 运行时依赖(Node 22 LTS,当前为
22.14+,仍受支持) - OpenClaw — 运行在宿主机上,不放入容器
- 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 层防御模型:
- 防火墙(UFW) — 对外仅开放 SSH(22)和 Tailscale(41641/udp)
- VPN(Tailscale) — Gateway 只能通过 VPN mesh 访问
- Docker 隔离 — DOCKER-USER iptables chain 防止端口对外暴露
- 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 runDocker 沙箱问题
bash
# 确认 Docker 正在运行
sudo systemctl status docker
# 查看沙箱镜像
sudo docker images | grep openclaw-sandbox
# 如果镜像缺失,重新构建
cd /opt/openclaw/openclaw
sudo -u openclaw ./scripts/sandbox-setup.shProvider 登录失败
确保以 openclaw 用户运行:
bash
sudo -i -u openclaw
openclaw channels login高级配置
详细的安全架构和故障排查,请参考 openclaw-ansible 仓库:
相关文档
- openclaw-ansible — 完整部署指南
- Docker — 容器化 Gateway 配置
- Sandboxing — Agent 沙箱配置
- Multi-Agent Sandbox and Tools — 按 Agent 隔离