Containers

Ansible

使用以安全性為優先架構的自動化安裝程式 openclaw-ansible,將 OpenClaw 部署到正式環境伺服器。

必要條件

需求 詳細資訊
作業系統 Debian 11+ 或 Ubuntu 20.04+
存取權限 Root 或 sudo 權限
網路 用於安裝套件的網際網路連線
Ansible 2.14+(快速入門指令碼會自動安裝)

你會獲得什麼

  • 防火牆優先的安全性:UFW + Docker 隔離(僅可連線至 SSH + Tailscale)
  • 使用 Tailscale VPN 進行遠端存取,無須將服務公開
  • 使用 Docker 建立僅繫結至 localhost 的隔離沙箱容器
  • 整合具安全強化功能的 Systemd,並在開機時自動啟動
  • 單一命令完成設定

快速入門

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

安裝內容

  1. Tailscale(用於安全遠端存取的網狀 VPN)
  2. UFW 防火牆(僅開放 SSH + Tailscale 連接埠)
  3. Docker CE + Compose V2(預設的代理程式沙箱後端)
  4. Node.js 和 pnpm(OpenClaw 需要 Node 22.22.3+、24.15+ 或 25.9+;建議使用 Node 24)
  5. OpenClaw,安裝於主機上,而非容器中
  6. 具安全強化功能的 systemd 服務

安裝後設定

  • 切換至 openclaw 使用者

    bash
    sudo -i -u openclaw
  • 執行初始設定精靈

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

  • 連接訊息頻道

    登入 WhatsApp、Telegram、Discord 或 Signal:

    bash
    openclaw channels login --channel <name>
  • 驗證安裝

    bash
    sudo systemctl status openclawsudo journalctl -u openclaw -f
  • 連接至 Tailscale

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

  • 快速命令

    bash
    # 檢查服務狀態sudo systemctl status openclaw # 檢視即時記錄sudo journalctl -u openclaw -f # 重新啟動閘道sudo systemctl restart openclaw # 登入頻道(以 openclaw 使用者身分執行)sudo -i -u openclawopenclaw channels login --channel <name>

    安全架構

    四層防禦模型:

    1. 防火牆(UFW):僅將 SSH(22)和 Tailscale(41641/udp)公開
    2. VPN(Tailscale):只能透過 VPN 網狀網路連線至閘道
    3. Docker 隔離:DOCKER-USER iptables 鏈可防止連接埠對外開放
    4. Systemd 安全強化:NoNewPrivilegesPrivateTmp、非特權使用者

    驗證你的外部攻擊面:

    bash
    nmap -p- YOUR_SERVER_IP

    只有連接埠 22(SSH)應為開放狀態。閘道和 Docker 會維持封鎖。

    Docker 用於代理程式沙箱(隔離的工具執行環境),並非用於執行閘道。沙箱設定請參閱多代理程式沙箱與工具

    手動安裝

  • 安裝必要條件

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

    bash
    git clone https://github.com/openclaw/openclaw-ansible.gitcd openclaw-ansible
  • 安裝 Ansible 集合

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

    bash
    ./run-playbook.sh

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

    bash
    ansible-playbook playbook.yml --ask-become-pass# 接著執行:/tmp/openclaw-setup.sh
  • 更新

    Ansible 安裝程式會將 OpenClaw 設定為手動更新;標準流程請參閱更新

    若要重新執行 playbook(例如在變更設定後):

    bash
    cd openclaw-ansible./run-playbook.sh

    此操作具冪等性,可安全地重複執行。

    疑難排解

    防火牆封鎖我的連線
    • 請先透過 Tailscale VPN 連線;依設計,閘道只能透過此方式存取。
    • 一律允許 SSH(連接埠 22)。
    服務無法啟動
    bash
    # 檢查記錄sudo journalctl -u openclaw -n 100 # 驗證權限sudo ls -la /opt/openclaw # 測試手動啟動sudo -i -u openclawcd ~/openclawopenclaw gateway run
    Docker 沙箱問題
    bash
    # 驗證 Docker 是否正在執行sudo systemctl status docker # 檢查沙箱映像檔sudo docker images | grep openclaw-sandbox # 若缺少沙箱映像檔,請進行建置(需要原始碼簽出)cd /opt/openclaw/openclawsudo -u openclaw ./scripts/sandbox-setup.sh# 若使用 npm 安裝且沒有原始碼簽出,請參閱# https://docs.openclaw.ai/gateway/sandboxing#images-and-setup
    頻道登入失敗

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

    bash
    sudo -i -u openclawopenclaw channels login --channel <name>

    進階設定

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

    相關內容

    Was this useful?
    On this page

    On this page