Ansible 安裝
使用 Ansible 自動化部署 OpenClaw 至生產伺服器的指南,採用安全優先的架構設計。
部署 OpenClaw 至生產伺服器的建議方式是透過 openclaw-ansible — 一個採用安全優先架構的自動化安裝程式。
快速開始
一鍵安裝:
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash
完整指南請參閱 github.com/openclaw/openclaw-ansible
openclaw-ansible 儲存庫是 Ansible 部署的權威來源。本頁面僅提供快速概覽。
您會獲得什麼
- 防火牆優先安全:UFW + Docker 隔離(僅 SSH + Tailscale 可存取)
- Tailscale VPN:安全的遠端存取,無需公開曝露服務
- Docker:隔離的沙箱容器,僅 localhost 綁定
- 縱深防禦:4 層安全架構
- 一鍵設定:數分鐘內完成部署
- Systemd 整合:開機自動啟動並強化安全
需求
- 作業系統:Debian 11+ 或 Ubuntu 20.04+
- 權限:Root 或 sudo 權限
- 網路:需要網路連線以安裝套件
- Ansible:2.14+(快速開始腳本會自動安裝)
安裝內容
Ansible playbook 會安裝並設定:
- Tailscale(用於安全遠端存取的 mesh VPN)
- UFW 防火牆(僅開放 SSH + Tailscale 連接埠)
- Docker CE + Compose V2(用於代理沙箱)
- Node.js 22.x + pnpm(執行環境相依套件)
- OpenClaw(主機安裝,非容器化)
- Systemd 服務(自動啟動並強化安全)
注意:Gateway 直接在主機上執行(不在 Docker 中),但代理沙箱使用 Docker 進行隔離。詳見沙箱機制。
安裝後設定
安裝完成後,切換至 openclaw 使用者:
sudo -i -u openclaw
安裝後腳本會引導您完成:
- 初始設定精靈:設定 OpenClaw 選項
- 供應商登入:連接 WhatsApp/Telegram/Discord/Signal
- Gateway 測試:驗證安裝
- Tailscale 設定:連接至您的 VPN mesh
常用指令
# 檢查服務狀態
sudo systemctl status openclaw
# 檢視即時日誌
sudo journalctl -u openclaw -f
# 重新啟動 Gateway
sudo systemctl restart openclaw
# 供應商登入(以 openclaw 使用者執行)
sudo -i -u openclaw
openclaw channels login
安全架構
4 層防禦
- 防火牆(UFW):僅公開 SSH(22)+ Tailscale(41641/udp)
- VPN(Tailscale):Gateway 僅可透過 VPN mesh 存取
- Docker 隔離:DOCKER-USER iptables 鏈防止外部連接埠曝露
- Systemd 強化:NoNewPrivileges、PrivateTmp、非特權使用者
驗證
測試外部攻擊面:
nmap -p- YOUR_SERVER_IP
應僅顯示連接埠 22(SSH)開放。所有其他服務(Gateway、Docker)皆已鎖定。
Docker 可用性
Docker 安裝用於代理沙箱(隔離的工具執行),而非用於執行 Gateway。Gateway 僅綁定至 localhost,透過 Tailscale VPN 存取。
詳見多代理沙箱與工具。
手動安裝
若您偏好手動控制自動化流程:
# 1. 安裝先決條件
sudo apt update && sudo apt install -y ansible git
# 2. 複製儲存庫
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
# 或直接執行(之後需手動執行 /tmp/openclaw-setup.sh)
# ansible-playbook playbook.yml --ask-become-pass
更新 OpenClaw
Ansible 安裝程式設定 OpenClaw 為手動更新。請參閱更新了解標準更新流程。
若要重新執行 Ansible playbook(例如變更設定):
cd openclaw-ansible
./run-playbook.sh
注意:這是冪等操作,可安全地多次執行。
疑難排解
防火牆阻擋連線
若您被鎖在外面:
- 確保您可以先透過 Tailscale VPN 存取
- SSH 存取(連接埠 22)始終允許
- Gateway 設計上僅可透過 Tailscale 存取
服務無法啟動
# 檢查日誌
sudo journalctl -u openclaw -n 100
# 驗證權限
sudo ls -la /opt/openclaw
# 測試手動啟動
sudo -i -u openclaw
cd ~/openclaw
pnpm start
Docker 沙箱問題
# 驗證 Docker 是否執行中
sudo systemctl status docker
# 檢查沙箱映像檔
sudo docker images | grep openclaw-sandbox
# 若缺少則建置沙箱映像檔
cd /opt/openclaw/openclaw
sudo -u openclaw ./scripts/sandbox-setup.sh
供應商登入失敗
確保您以 openclaw 使用者執行:
sudo -i -u openclaw
openclaw channels login
進階設定
如需詳細的安全架構和疑難排解:
相關資源
- openclaw-ansible — 完整部署指南
- Docker — 容器化 Gateway 設定
- 沙箱機制 — 代理沙箱設定
- 多代理沙箱與工具 — 逐代理隔離