Containers

Ansible

Deploy OpenClaw 至生產伺服器,使用 openclaw-ansible -- 具備安全優先架構的自動化安裝程式。

先決條件

需求 詳細資訊
OS Debian 11+ 或 Ubuntu 20.04+
存取權限 Root 或 sudo 權限
網路 用於套件安裝的網際網路連線
Ansible 2.14+(由快速開始指令碼自動安裝)

你會獲得

  • 防火牆優先的安全性 -- UFW + Docker 隔離(僅 SSH + Tailscale 可存取)
  • Tailscale VPN -- 安全遠端存取,不公開暴露服務
  • Docker -- 隔離的沙箱容器、僅限 localhost 綁定
  • 縱深防禦 -- 4 層安全架構
  • Systemd 整合 -- 開機自動啟動並強化安全性
  • 單一命令設定 -- 幾分鐘內完成部署

快速開始

單一命令安裝:

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

安裝內容

Ansible playbook 會安裝並設定:

  1. Tailscale -- 用於安全遠端存取的網狀 VPN
  2. UFW 防火牆 -- 僅開放 SSH + Tailscale 連接埠
  3. Docker CE + Compose V2 -- 用於預設代理沙箱後端
  4. Node.js 24 + pnpm -- 執行階段相依套件(Node 22 LTS,目前為 22.16+,仍受支援)
  5. OpenClaw -- 以主機為基礎,不容器化
  6. Systemd 服務 -- 自動啟動並進行安全強化

安裝後設定

  • 切換到 openclaw 使用者

    sudo -i -u openclaw
    
  • 執行上線精靈

    安裝後指令碼會引導你設定 OpenClaw 設定。

  • 連接訊息服務提供者

    登入 WhatsApp、Telegram、Discord 或 Signal:

    openclaw channels login
    
  • 驗證安裝

    sudo systemctl status openclaw
    sudo journalctl -u openclaw -f
    
  • 連接到 Tailscale

    加入你的 VPN 網狀網路,以進行安全遠端存取。

  • 快速命令

    # Check service status
    sudo systemctl status openclaw
    
    # View live logs
    sudo journalctl -u openclaw -f
    
    # Restart gateway
    sudo systemctl restart openclaw
    
    # Provider login (run as openclaw user)
    sudo -i -u openclaw
    openclaw channels login
    

    安全架構

    部署使用 4 層防禦模型:

    1. 防火牆 (UFW) -- 僅公開暴露 SSH (22) + Tailscale (41641/udp)
    2. VPN (Tailscale) -- Gateway 僅可透過 VPN 網狀網路存取
    3. Docker 隔離 -- DOCKER-USER iptables 鏈防止外部連接埠暴露
    4. Systemd 強化 -- NoNewPrivileges、PrivateTmp、無特權使用者

    若要驗證你的外部攻擊面:

    nmap -p- YOUR_SERVER_IP
    

    只有連接埠 22 (SSH) 應該開放。所有其他服務(Gateway、Docker)都會被鎖定。

    Docker 是為代理沙箱(隔離的工具執行)而安裝,不是用來執行 Gateway 本身。沙箱設定請參閱多代理沙箱與工具

    手動安裝

    如果你偏好手動控制自動化流程:

  • 安裝先決條件

    sudo apt update && sudo apt install -y ansible git
    
  • 複製儲存庫

    git clone https://github.com/openclaw/openclaw-ansible.git
    cd openclaw-ansible
    
  • 安裝 Ansible collections

    ansible-galaxy collection install -r requirements.yml
    
  • 執行 playbook

    ./run-playbook.sh
    

    或者,直接執行,然後再手動執行設定指令碼:

    ansible-playbook playbook.yml --ask-become-pass
    # Then run: /tmp/openclaw-setup.sh
    
  • 更新

    Ansible 安裝程式會設定 OpenClaw 以供手動更新。標準更新流程請參閱更新

    若要重新執行 Ansible playbook(例如用於設定變更):

    cd openclaw-ansible
    ./run-playbook.sh
    

    這是冪等的,可安全地多次執行。

    疑難排解

    防火牆封鎖我的連線
    • 先確認你可以透過 Tailscale VPN 存取
    • SSH 存取(連接埠 22)一律允許
    • Gateway 設計上僅可透過 Tailscale 存取
    服務無法啟動
    # Check logs
    sudo journalctl -u openclaw -n 100
    
    # Verify permissions
    sudo ls -la /opt/openclaw
    
    # Test manual start
    sudo -i -u openclaw
    cd ~/openclaw
    openclaw gateway run
    
    Docker 沙箱問題
    # Verify Docker is running
    sudo systemctl status docker
    
    # Check sandbox image
    sudo docker images | grep openclaw-sandbox
    
    # Build sandbox image if missing (requires source checkout)
    cd /opt/openclaw/openclaw
    sudo -u openclaw ./scripts/sandbox-setup.sh
    # For npm installs without a source checkout, see
    # https://docs.openclaw.ai/gateway/sandboxing#images-and-setup
    
    提供者登入失敗

    請確認你正以 openclaw 使用者身分執行:

    sudo -i -u openclaw
    openclaw channels login
    

    進階設定

    如需詳細的安全架構與疑難排解,請參閱 openclaw-ansible 儲存庫:

    相關