跳到內容

使用 Ansible 自動化部署 OpenClaw

手動設定伺服器通常很麻煩,你要搞定防火牆、設定 VPN,還要確保各種環境依賴沒有衝突。只要漏掉一個步驟,伺服器就可能暴露在風險中,或者出現「我電腦上可以跑,但伺服器不行」的窘境。你真正需要的是一套能自動化處理安全配置與環境隔離的方案。

推薦你使用 openclaw-ansible。這是一套針對生產環境設計的自動化安裝工具,採用安全優先的架構,讓你不用再手動敲幾十行命令。

在開始之前,請確認你的伺服器符合以下條件:

  • OS: Debian 11+ 或 Ubuntu 20.04+
  • 權限: 具備 Root 或 sudo 權限
  • 網路: 可以正常連接網路以下載安裝包
  • Ansible: 2.14+(如果你沒裝,Quick Start 腳本會自動幫你裝好)

這是最快的安裝路徑,大約 5 分鐘就能搞定:

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

📦 完整指南:github.com/openclaw/openclaw-ansible

該 Repo 是 Ansible 部署的權威來源,本頁面僅提供快速概覽。

  • 🔒 防火牆優先的安全策略:整合 UFW 與 Docker 隔離,預設僅開放 SSH 與 Tailscale 存取
  • 🔐 Tailscale VPN:無需將服務暴露在公網,即可進行安全的遠端存取
  • 🐳 Docker:提供隔離的 Sandbox 容器,且僅綁定至 localhost
  • 🚀 一鍵設定:幾分鐘內完成完整部署
  • 🔧 Systemd 整合:支援開機自啟動與系統級硬化設定
  • 🛡️ 深度防禦:具備 4 層安全架構

這套 Ansible Playbook 會幫你安裝並設定好:

  1. Tailscale (用於安全遠端存取的 Mesh VPN)
  2. UFW 防火牆 (僅開放 SSH 與 Tailscale 埠口)
  3. Docker CE + Compose V2 (用於 Agent 的 Sandbox 環境)
  4. Node.js 22.x + pnpm (執行環境依賴)
  5. OpenClaw (直接執行在主機上,非容器化)
  6. Systemd service (具備安全硬化的自動啟動服務)

注意:Gateway 會直接在主機上執行,但 Agent 的 Sandbox 會使用 Docker 進行隔離。詳細資訊可以參考 Sandboxing。

安裝完成後,請切換到 openclaw 使用者:

Terminal window
sudo -i -u openclaw

接著安裝腳本會引導你完成:

  1. Onboarding wizard:設定 OpenClaw 選項
  2. Provider login:連接 WhatsApp, Telegram, Discord 或 Signal
  3. Gateway testing:驗證安裝是否成功
  4. Tailscale setup:連接到你的 VPN 網路
Terminal window
# 檢查服務狀態
sudo systemctl status openclaw
# 查看即時日誌
sudo journalctl -u openclaw -f
# 重啟 Gateway
sudo systemctl restart openclaw
# 登入通訊平台 (請切換至 openclaw 使用者執行)
sudo -i -u openclaw
openclaw channels login
  1. 防火牆 (UFW):僅對外開放 SSH (22) 與 Tailscale (41641/udp)。
  2. VPN (Tailscale):Gateway 僅能透過 VPN 網路存取。
  3. Docker 隔離:透過 DOCKER-USER iptables 鏈防止外部存取 Docker 埠口。
  4. Systemd 硬化:使用 NoNewPrivileges, PrivateTmp 以及非特權使用者執行。

你可以從外部測試伺服器的攻擊面:

Terminal window
nmap -p- YOUR_SERVER_IP

結果應該只顯示 22 埠口 (SSH) 是開啟的。其他所有服務(包含 Gateway 和 Docker)都已被鎖定。

如果你想手動控制安裝流程:

Terminal window
# 1. 安裝前置工具
sudo apt update && sudo apt install -y ansible git
# 2. 複製 Repo
git clone https://github.com/openclaw/openclaw-ansible.git
cd openclaw-ansible
# 3. 安裝 Ansible collections
ansible-galaxy collection install -r requirements.yml
# 4. 執行 Playbook
./run-playbook.sh

Ansible 安裝程式設定好 OpenClaw 後,你可以參考 Updating 進行標準更新。

如果你需要重新執行 Ansible Playbook(例如更改配置):

Terminal window
cd openclaw-ansible
./run-playbook.sh

這個操作是冪等 (Idempotent) 的,多次執行也很安全。

如果你無法連線:

  • 先確認你是否已透過 Tailscale VPN 連入。
  • SSH 存取 (22 埠口) 預設是允許的。
  • Gateway 依設計僅能透過 Tailscale 存取。
Terminal window
# 檢查日誌
sudo journalctl -u openclaw -n 100
# 檢查權限
sudo ls -la /opt/openclaw
# 嘗試手動啟動測試
sudo -i -u openclaw
cd ~/openclaw
pnpm start
Terminal window
# 確認 Docker 正在執行
sudo systemctl status docker
# 檢查 Sandbox 映像檔
sudo docker images | grep openclaw-sandbox
# 如果映像檔遺失,手動建置
cd /opt/openclaw/openclaw
sudo -u openclaw ./scripts/sandbox-setup.sh

請確保你是以 openclaw 使用者身份執行命令:

Terminal window
sudo -i -u openclaw
openclaw channels login

有任何設定上的疑問?可以直接詢問 AI Setup Assistant。

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。