Ansible 自动化部署
- 原始链接:https://github.com/openclaw/openclaw-ansible
- 来源章节:7. 官方仓库与生态仓库
- 来源小节:无
- 抓取方式:jina:https://r.jina.ai/http://github.com/openclaw/openclaw-ansible
- 抓取时间:2026-04-05 13:47:10
- 状态:ok
中文内容
OpenClaw Ansible 安装程序
[](https://github.com/openclaw/openclaw-ansible/actions/workflows/lint.yml)[](https://www.ansible.com/)[](https://www.debian.org/)
自动化、强化安装 OpenClaw,并支持 Debian/Ubuntu Linux 的 Docker 和 Tailscale VPN。
⚠️ macOS 支持:已弃用和禁用
自 2026 年 2 月 6 日起,本手册中已删除对裸机 macOS 安装的支持。
为什么?
底层项目当前需要系统级权限和配置,在主要主机操作系统上执行时会带来重大安全风险。为了保护用户数据和系统完整性,我们禁用了裸机执行。
这是什么意思?
- 如果在“Darwin”(macOS) 系统上运行,该剧本现在将明确失败。
- 我们强烈反对使用手动解决方法来绕过此检查。
- 未来支持: 我们正在评估虚拟化优先策略(使用 Vagrant 或 Docker),以便将来为该项目提供沙盒环境。
## 特征
- 🔒 防火墙优先:UFW防火墙+Docker隔离
- 🛡️ Fail2ban:开箱即用的 SSH 暴力保护
- 🔄 自动更新:通过无人值守升级自动提供安全补丁
- 🔐 Tailscale VPN:安全远程访问而不暴露服务
- 🐳 Docker:具有安全强化功能的 Docker CE
- 🚀 一个命令安装:几分钟内完成设置
- 🔧 自动配置:DBus、systemd、环境设置
- 📦 pnpm 安装:使用
pnpm install -g openclaw@latest
快速入门(独立/自托管)
发布模式(推荐)
卷曲-fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh |巴什
开发模式
克隆安装程序
git 克隆 https://github.com/openclaw/openclaw-ansible.git cd openclaw-ansible
以开发模式安装
./run-playbook.sh -e openclaw_install_mode=开发
安装了什么
- Tailscale(网状VPN)
- UFW 防火墙(仅限 SSH + Tailscale 端口)
- Docker CE + Compose V2(用于沙箱)
- Node.js 22.x + pnpm
- 主机上的 OpenClaw(未容器化)
- Systemd服务(自动启动)
安装后
须藤苏-张开爪
然后运行快速启动入门向导:
openclaw 板载 --install-daemon
这将:
- 引导您完成设置向导
- 配置您的消息传递提供商(WhatsApp/Telegram/Signal)
- 安装并启动守护进程服务
替代手动设置
手动配置
开爪配置
登录到提供商
openclaw 提供商登录
测试网关
开爪网关
作为守护进程安装
openclaw 守护进程安装 openclaw 守护进程启动
检查状态
开爪状态 张开爪日志
手动安装
发布模式(默认)
安装依赖项
sudo apt update && sudo apt install -y ansible git
克隆存储库
git 克隆 https://github.com/openclaw/openclaw-ansible.git cd openclaw-ansible
安装 Ansible 集合
ansible-galaxy 集合安装-rrequirements.yml
运行安装
./run-playbook.sh
开发模式
与上面相同,但带有开发模式标志
./run-playbook.sh -e openclaw_install_mode=开发
或者直接:
ansible-playbook playbook.yml --ask-become-pass -e openclaw_install_mode=development
这将:
- 将 openclaw 存储库克隆到
~/code/openclaw - 运行
pnpm install和pnpm build - 符号链接二进制到
~/.local/bin/openclaw - 将开发别名添加到
.bashrc
作为 Ansible 集合安装
openclaw.installer 是一个 Ansible 集合,可以使用 ansible-galaxy 命令安装:
ansible-galaxy集合安装git+https://github.com/openclaw/openclaw-ansible.git
或者,将其添加到 Ansible 项目的 requirements.yml 文件,如下所示:
收藏:
- 名称:https://github.com/openclaw/openclaw-ansible.git 类型:git 版本:主要
作为版本,您可以使用分支、版本标签(例如“v2.0.0”)或特定的提交哈希。
用法
cp inventory-sample.yml inventory.yml
其次编辑清单文件以匹配您的集群设置。例如:
openclaw_服务器: 儿童: 服务器: 主持人: 192.16.35.11: 192.16.35.12:
如果需要,您还可以编辑“vars”部分以匹配您的环境。
使用以下命令之一开始配置服务器。要使用的命令取决于您是否使用“ansible-galaxy”安装了“openclaw.installer”,或者是否从克隆的 git 存储库中运行该剧本:
与ansible-galaxy一起安装
ansible-playbook openclaw.installer.deploy -i inventory.yml
在您现有的剧本中
- 名称:部署 OpenClaw
主机: my_servers
成为:真实
角色:
- openclaw.安装程序.openclaw
从存储库内部运行剧本
ansible-playbook playbooks/deploy.yml -i inventory.yml
或者,要从现有项目设置运行 playbook,请从您自己的 playbook 中运行 playbook:
与ansible-galaxy一起安装
- 名称:部署 OpenClaw ansible.builtin.import_playbook:openclaw.installer.deploy
从存储库内部运行剧本
- 名称:部署 OpenClaw ansible.builtin.import_playbook:playbooks/deploy.yml
安装模式
发布模式(默认)
- 通过
pnpm install -g openclaw@latest安装 - 从 npm 注册表获取最新的稳定版本
- 通过
pnpm install -g openclaw@latest自动更新 - 推荐用于生产
开发模式
-
来自
https://github.com/openclaw/openclaw.git的克隆 -
使用“pnpm build”从源代码构建
-
将二进制符号链接到
~/.local/bin/openclaw -
添加有用的别名:
openclaw-rebuild- 代码更改后重建openclaw-dev- 导航到 repo 目录openclaw-pull- 拉取、安装依赖项并重建
-
推荐用于开发和测试
启用:-e openclaw_install_mode=development
安全
- 公共端口:仅限 SSH (22)、Tailscale (41641/udp)
- Fail2ban:SSH 暴力保护(5 次尝试 → 1 小时禁止)
- 自动更新:通过无人值守升级提供安全补丁
- Docker隔离:容器不能对外暴露端口(DOCKER-USER链)
- 非 root:OpenClaw 以非特权用户身份运行
- 作用域 sudo:仅限于服务管理(不是完整 root)
- Systemd 强化:NoNewPrivileges、PrivateTmp、ProtectSystem
验证:nmap -p- YOUR_SERVER_IP 应仅显示端口 22 打开。
安全说明
git 克隆 https://github.com/openclaw/openclaw-ansible.git cd openclaw-ansible
查看 playbook.yml 和 Roles/
ansible-playbook playbook.yml --check --diff # 试运行 ansible-playbook playbook.yml --ask-become-pass
文档
要求
- Debian 11+ 或 Ubuntu 20.04+
- root/sudo 访问
- 互联网连接
配置选项
所有配置变量都可以在 roles/openclaw/defaults/main.yml 中找到。
您可以通过三种方式覆盖它们:
1. 通过命令行
ansible-playbook playbook.yml --ask-become-pass
-e openclaw_install_mode=开发
-e "openclaw_ssh_keys=['ssh-ed25519 AAAAC3... user@host']"
2.通过变量文件
创建 vars.yml
猫 > vars.yml << EOF openclaw_install_mode:开发 openclaw_ssh_keys: -“ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGxxxxxxxx 用户@主机” -“ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAB...用户@主机” openclaw_repo_url:“https://github.com/YOUR_USERNAME/openclaw.git” openclaw_repo_branch: "功能分支" tailscale_authkey:“tskey-auth-xxxxxxxxxxxxx” EOF
使用它
ansible-playbook playbook.yml --ask-become-pass -e @vars.yml
3.直接编辑默认值
在运行剧本之前编辑“roles/openclaw/defaults/main.yml”。
可用变量
| 变量 | 默认 | 描述 |
|---|---|---|
openclaw_user | 张开爪 | 系统用户名 |
openclaw_home | /home/openclaw | 用户主目录 |
openclaw_install_mode | 释放 | “发布”或“开发” |
openclaw_ssh_keys | [] | SSH 公钥列表 |
openclaw_repo_url | https://github.com/openclaw/openclaw.git | Git 存储库(开发模式) |
openclaw_repo_branch | 主要 | Git 分支(开发模式) |
tailscale_authkey | "" | 用于自动连接的 Tailscale 身份验证密钥 |
nodejs_版本 | 22.x | 要安装的 Node.js 版本 |
有关完整列表,请参阅 roles/openclaw/defaults/main.yml。
常用配置示例
用于远程访问的 SSH 密钥
ansible-playbook playbook.yml --ask-become-pass
-e "openclaw_ssh_keys=['ssh-ed25519 AAAAC3... user@host']"
使用自定义存储库的开发模式
ansible-playbook playbook.yml --ask-become-pass
-e openclaw_install_mode=开发
-e openclaw_repo_url=https://github.com/YOUR_USERNAME/openclaw.git
-e openclaw_repo_branch=功能分支
尾秤自动连接
ansible-playbook playbook.yml --ask-become-pass
-e tailscale_authkey=tskey-auth-xxxxxxxxxxxxx
许可证
麻省理工学院 - 请参阅 许可证