複数の Gateway(同一ホスト)

通常は Gateway を1つだけ運用すれば十分です。1つの Gateway で複数のメッセージング接続やエージェントを処理できます。ただし、より強力な分離や冗長性が必要な場合(レスキューボットなど)は、プロファイルとポートを分けて個別の Gateway を実行してください。

分離チェックリスト(必須)

  • OPENCLAW_CONFIG_PATH — インスタンスごとの設定ファイル
  • OPENCLAW_STATE_DIR — インスタンスごとのセッション、認証情報、キャッシュ
  • agents.defaults.workspace — インスタンスごとのワークスペースルート
  • gateway.port(または --port)— インスタンスごとに一意の値
  • 派生ポート(ブラウザ/キャンバス)が重複しないこと

これらを共有すると、設定の競合やポートの衝突が発生します。

推奨:プロファイル(--profile

プロファイルを使うと OPENCLAW_STATE_DIROPENCLAW_CONFIG_PATH が自動的にスコープされ、サービス名にサフィックスが付きます。

# メイン
openclaw --profile main setup
openclaw --profile main gateway --port 18789

# レスキュー
openclaw --profile rescue setup
openclaw --profile rescue gateway --port 19001

プロファイルごとのサービス登録:

openclaw --profile main gateway install
openclaw --profile rescue gateway install

レスキューボット構築ガイド

同じホスト上で2つ目の Gateway を実行します。以下をそれぞれ独立させてください:

  • プロファイル/設定
  • ステートディレクトリ
  • ワークスペース
  • ベースポート(および派生ポート)

レスキューボットをメインボットから分離しておくことで、メインボットがダウンした場合でもデバッグや設定変更を行えます。

ポートの間隔:派生するブラウザ/キャンバス/CDP ポートが衝突しないよう、ベースポート間は最低20ポート空けてください。

インストール方法(レスキューボット)

# メインボット(既存または新規、--profile パラメータなし)
# ポート 18789 + Chrome CDC/Canvas/... ポートで動作
openclaw onboard
openclaw gateway install

# レスキューボット(分離プロファイル + ポート)
openclaw --profile rescue onboard
# 注意:
# - ワークスペース名にはデフォルトで -rescue が付加されます
# - ポートは 18789 + 20 以上を指定してください
#   19789 のように完全に異なるベースポートを選ぶ方がより安全です
# - その他のオンボーディング手順は通常と同じです

# サービスのインストール(オンボーディング中に自動で行われなかった場合)
openclaw --profile rescue gateway install

ポートマッピング(派生)

ベースポート = gateway.port(または OPENCLAW_GATEWAY_PORT / --port)。

  • ブラウザ制御サービスポート = ベース + 2(ループバックのみ)
  • キャンバスホストは Gateway HTTP サーバーで提供(gateway.port と同じポート)
  • ブラウザプロファイルの CDP ポートは browser.controlPort + 9 .. + 108 の範囲で自動割り当て

これらの値を設定やenv で上書きする場合、インスタンスごとに一意であることを確認してください。

ブラウザ/CDP に関する注意(よくあるミス)

  • 複数のインスタンスで browser.cdpUrl を同じ値に固定しないでください
  • 各インスタンスには独自のブラウザ制御ポートと CDP レンジ(Gateway ポートから派生)が必要です。
  • CDP ポートを明示的に指定する場合は、インスタンスごとに browser.profiles.<name>.cdpPort を設定してください。
  • リモート Chrome:インスタンスごと・プロファイルごとに browser.profiles.<name>.cdpUrl を使用してください。

手動 env 設定の例

OPENCLAW_CONFIG_PATH=~/.openclaw/main.json \
OPENCLAW_STATE_DIR=~/.openclaw-main \
openclaw gateway --port 18789

OPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \
OPENCLAW_STATE_DIR=~/.openclaw-rescue \
openclaw gateway --port 19001

動作確認

openclaw --profile main status
openclaw --profile rescue status
openclaw --profile rescue browser status