Containers

Ansible

OpenClaw を本番サーバーへデプロイするには openclaw-ansible を使用します -- セキュリティファーストのアーキテクチャを備えた自動インストーラーです。

前提条件

要件 詳細
OS Debian 11+ または Ubuntu 20.04+
アクセス root または sudo 権限
ネットワーク パッケージインストール用のインターネット接続
Ansible 2.14+(クイックスタートスクリプトにより自動インストール)

得られるもの

  • Firewall-first セキュリティ -- UFW + Docker 分離(SSH + Tailscale のみアクセス可能)
  • Tailscale VPN -- サービスを公開せずに安全なリモートアクセス
  • Docker -- 分離されたサンドボックスコンテナ、localhost のみのバインディング
  • 多層防御 -- 4 層のセキュリティアーキテクチャ
  • Systemd 統合 -- ハードニング付きで起動時に自動開始
  • ワンコマンドセットアップ -- 数分でデプロイ完了

クイックスタート

ワンコマンドインストール:

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

インストールされるもの

Ansible プレイブックは以下をインストールして設定します:

  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 コレクションをインストールする

    ansible-galaxy collection install -r requirements.yml
    
  • プレイブックを実行する

    ./run-playbook.sh
    

    または、直接実行してから、後でセットアップスクリプトを手動で実行します:

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

    Ansible インストーラーは、OpenClaw を手動更新できるようにセットアップします。標準の更新フローについては 更新 を参照してください。

    Ansible プレイブックを再実行するには(たとえば設定変更のため):

    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 リポジトリを参照してください:

    関連