使用 Ansible 自動化部署 OpenClaw
手動設定伺服器通常很麻煩,你要搞定防火牆、設定 VPN,還要確保各種環境依賴沒有衝突。只要漏掉一個步驟,伺服器就可能暴露在風險中,或者出現「我電腦上可以跑,但伺服器不行」的窘境。你真正需要的是一套能自動化處理安全配置與環境隔離的方案。
推薦你使用 openclaw-ansible。這是一套針對生產環境設計的自動化安裝工具,採用安全優先的架構,讓你不用再手動敲幾十行命令。
需要準備的東西
Section titled “需要準備的東西”在開始之前,請確認你的伺服器符合以下條件:
- OS: Debian 11+ 或 Ubuntu 20.04+
- 權限: 具備 Root 或 sudo 權限
- 網路: 可以正常連接網路以下載安裝包
- Ansible: 2.14+(如果你沒裝,Quick Start 腳本會自動幫你裝好)
這是最快的安裝路徑,大約 5 分鐘就能搞定:
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash📦 完整指南:github.com/openclaw/openclaw-ansible
該 Repo 是 Ansible 部署的權威來源,本頁面僅提供快速概覽。
安裝後你會得到什麼?
Section titled “安裝後你會得到什麼?”- 🔒 防火牆優先的安全策略:整合 UFW 與 Docker 隔離,預設僅開放 SSH 與 Tailscale 存取
- 🔐 Tailscale VPN:無需將服務暴露在公網,即可進行安全的遠端存取
- 🐳 Docker:提供隔離的 Sandbox 容器,且僅綁定至 localhost
- 🚀 一鍵設定:幾分鐘內完成完整部署
- 🔧 Systemd 整合:支援開機自啟動與系統級硬化設定
- 🛡️ 深度防禦:具備 4 層安全架構
What Gets Installed
Section titled “What Gets Installed”這套 Ansible Playbook 會幫你安裝並設定好:
- Tailscale (用於安全遠端存取的 Mesh VPN)
- UFW 防火牆 (僅開放 SSH 與 Tailscale 埠口)
- Docker CE + Compose V2 (用於 Agent 的 Sandbox 環境)
- Node.js 22.x + pnpm (執行環境依賴)
- OpenClaw (直接執行在主機上,非容器化)
- Systemd service (具備安全硬化的自動啟動服務)
注意:Gateway 會直接在主機上執行,但 Agent 的 Sandbox 會使用 Docker 進行隔離。詳細資訊可以參考 Sandboxing。
Post-Install Setup
Section titled “Post-Install Setup”安裝完成後,請切換到 openclaw 使用者:
sudo -i -u openclaw接著安裝腳本會引導你完成:
- Onboarding wizard:設定 OpenClaw 選項
- Provider login:連接 WhatsApp, Telegram, Discord 或 Signal
- Gateway testing:驗證安裝是否成功
- Tailscale setup:連接到你的 VPN 網路
# 檢查服務狀態sudo systemctl status openclaw
# 查看即時日誌sudo journalctl -u openclaw -f
# 重啟 Gatewaysudo systemctl restart openclaw
# 登入通訊平台 (請切換至 openclaw 使用者執行)sudo -i -u openclawopenclaw channels loginSecurity Architecture
Section titled “Security Architecture”4 層防禦機制
Section titled “4 層防禦機制”- 防火牆 (UFW):僅對外開放 SSH (22) 與 Tailscale (41641/udp)。
- VPN (Tailscale):Gateway 僅能透過 VPN 網路存取。
- Docker 隔離:透過 DOCKER-USER iptables 鏈防止外部存取 Docker 埠口。
- Systemd 硬化:使用 NoNewPrivileges, PrivateTmp 以及非特權使用者執行。
驗證安全設定
Section titled “驗證安全設定”你可以從外部測試伺服器的攻擊面:
nmap -p- YOUR_SERVER_IP結果應該只顯示 22 埠口 (SSH) 是開啟的。其他所有服務(包含 Gateway 和 Docker)都已被鎖定。
Manual Installation
Section titled “Manual Installation”如果你想手動控制安裝流程:
# 1. 安裝前置工具sudo apt update && sudo apt install -y ansible git
# 2. 複製 Repogit clone https://github.com/openclaw/openclaw-ansible.gitcd openclaw-ansible
# 3. 安裝 Ansible collectionsansible-galaxy collection install -r requirements.yml
# 4. 執行 Playbook./run-playbook.shUpdating OpenClaw
Section titled “Updating OpenClaw”Ansible 安裝程式設定好 OpenClaw 後,你可以參考 Updating 進行標準更新。
如果你需要重新執行 Ansible Playbook(例如更改配置):
cd openclaw-ansible./run-playbook.sh這個操作是冪等 (Idempotent) 的,多次執行也很安全。
防火牆擋住了連線
Section titled “防火牆擋住了連線”如果你無法連線:
- 先確認你是否已透過 Tailscale VPN 連入。
- SSH 存取 (22 埠口) 預設是允許的。
- Gateway 依設計僅能透過 Tailscale 存取。
服務無法啟動
Section titled “服務無法啟動”# 檢查日誌sudo journalctl -u openclaw -n 100
# 檢查權限sudo ls -la /opt/openclaw
# 嘗試手動啟動測試sudo -i -u openclawcd ~/openclawpnpm startDocker Sandbox 問題
Section titled “Docker Sandbox 問題”# 確認 Docker 正在執行sudo systemctl status docker
# 檢查 Sandbox 映像檔sudo docker images | grep openclaw-sandbox
# 如果映像檔遺失,手動建置cd /opt/openclaw/openclawsudo -u openclaw ./scripts/sandbox-setup.shProvider 登入失敗
Section titled “Provider 登入失敗”請確保你是以 openclaw 使用者身份執行命令:
sudo -i -u openclawopenclaw channels login有任何設定上的疑問?可以直接詢問 AI Setup Assistant。
- openclaw-ansible — 完整部署指南
- Docker — 容器化 Gateway 設定
- Sandboxing — Agent Sandbox 設定
- Multi-Agent Sandbox & Tools — 獨立 Agent 隔離機制
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。