Containers
Ansible
將 OpenClaw 部署至正式環境伺服器,使用採安全優先架構的自動化安裝程式 openclaw-ansible。
先決條件
| 需求 | 詳細資訊 |
|---|---|
| 作業系統 | Debian 11+ 或 Ubuntu 20.04+ |
| 存取權限 | Root 或 sudo 權限 |
| 網路 | 用於安裝套件的網際網路連線 |
| Ansible | 2.14+(由快速入門指令碼自動安裝) |
你會獲得什麼
- 防火牆優先的安全性:UFW + Docker 隔離(僅可連線至 SSH + Tailscale)
- 使用 Tailscale VPN 進行遠端存取,無須將服務公開
- 使用 Docker 建立隔離的沙箱容器,僅繫結至 localhost
- Systemd 整合與安全強化,開機時自動啟動
- 單一命令完成設定
快速入門
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash安裝內容
- Tailscale(用於安全遠端存取的網狀 VPN)
- UFW 防火牆(僅開放 SSH + Tailscale 連接埠)
- Docker CE + Compose V2(預設的代理程式沙箱後端)
- Node.js 和 pnpm(OpenClaw 需要 Node 22.22.3+、24.15+ 或 25.9+;建議使用 Node 24)
- 以主機模式安裝、未容器化的 OpenClaw
- 具備安全強化的 systemd 服務
安裝後設定
切換至 openclaw 使用者
sudo -i -u openclaw執行新手引導精靈
安裝後指令碼會引導你設定 OpenClaw。
連線訊息頻道
登入 WhatsApp、Telegram、Discord 或 Signal:
openclaw channels login --channel <name>驗證安裝
sudo systemctl status openclawsudo journalctl -u openclaw -f連線至 Tailscale
加入你的 VPN 網狀網路,以進行安全的遠端存取。
快速命令
# 檢查服務狀態sudo systemctl status openclaw # 檢視即時日誌sudo journalctl -u openclaw -f # 重新啟動閘道sudo systemctl restart openclaw # 頻道登入(以 openclaw 使用者身分執行)sudo -i -u openclawopenclaw channels login --channel <name>安全架構
四層防禦模型:
- 防火牆(UFW):僅對外公開 SSH (22) 和 Tailscale (41641/udp)
- VPN(Tailscale):僅能透過 VPN 網狀網路連線至閘道
- Docker 隔離:
DOCKER-USERiptables 鏈可防止連接埠對外公開 - Systemd 安全強化:
NoNewPrivileges、PrivateTmp、非特權使用者
驗證你的外部攻擊面:
nmap -p- YOUR_SERVER_IP應只有連接埠 22 (SSH) 開放。閘道和 Docker 會維持鎖定狀態。
Docker 用於代理程式沙箱(隔離的工具執行環境),而非用於執行閘道。沙箱設定請參閱多代理程式沙箱與工具。
手動安裝
安裝先決條件
sudo apt update && sudo apt install -y ansible git複製儲存庫
git clone https://github.com/openclaw/openclaw-ansible.gitcd openclaw-ansible安裝 Ansible 集合
ansible-galaxy collection install -r requirements.yml執行 playbook
./run-playbook.sh或直接執行 playbook,然後手動執行設定指令碼:
ansible-playbook playbook.yml --ask-become-pass# 接著執行:/tmp/openclaw-setup.sh更新
Ansible 安裝程式會將 OpenClaw 設定為手動更新;標準流程請參閱更新。
若要重新執行 playbook(例如變更設定後):
cd openclaw-ansible./run-playbook.sh此操作具備冪等性,可安全地多次執行。
疑難排解
防火牆封鎖我的連線
- 請先透過 Tailscale VPN 連線;依設計,閘道只能透過此方式存取。
- SSH(連接埠 22)一律允許連線。
服務無法啟動
# 檢查日誌sudo journalctl -u openclaw -n 100 # 驗證權限sudo ls -la /opt/openclaw # 測試手動啟動sudo -i -u openclawcd ~/openclawopenclaw gateway runDocker 沙箱問題
# 驗證 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 使用者身分執行:
sudo -i -u openclawopenclaw channels login --channel <name>進階設定
如需詳細的安全架構與疑難排解資訊,請參閱 openclaw-ansible 儲存庫:
相關內容
- openclaw-ansible:完整部署指南
- Docker:容器化閘道設定
- 沙箱:代理程式沙箱設定
- 多代理程式沙箱與工具:個別代理程式隔離
Was this useful?