コンテンツにスキップ

同じホストで複数の Gateway を実行する方法

開発を進めていると、メインのシステムが動かなくなったときのために、デバッグや設定変更を行うための「救急用」の環境を別に用意しておきたくなることがあります。しかし、同じサーバーで複数の環境を動かそうとすると、設定の書き換えやポートの競合といった問題に直面しがちです。

通常、1つの Gateway で複数のメッセージ接続やエージェントを処理できますが、より強力な分離や冗長性が必要な場合は、プロファイルやポートを分けた別の Gateway を実行するのがベストな解決策です。

  • OpenClaw CLI
  • 衝突しない複数のポート番号
  • インスタンスごとに独立した設定ファイルとステートディレクトリ

最も推奨される方法は --profile オプションを使用することです。これにより、OPENCLAW_STATE_DIR と OPENCLAW_CONFIG_PATH が自動的にスコープされ、サービス名にサフィックスが付与されます。

Terminal window
# メイン環境のセットアップ
openclaw --profile main setup
openclaw --profile main gateway --port 18789
# レスキュー環境のセットアップ
openclaw --profile rescue setup
openclaw --profile rescue gateway --port 19001

プロファイルごとのサービス管理も簡単です。

Terminal window
openclaw --profile main gateway install
openclaw --profile rescue gateway install

同じホストで実行する場合、以下の項目がインスタンスごとに独立している必要があります。これらが共有されていると、設定の競合やポートの衝突が発生します。

  • OPENCLAW_CONFIG_PATH — インスタンスごとの設定ファイル
  • OPENCLAW_STATE_DIR — セッション、認証情報、キャッシュ
  • agents.defaults.workspace — ワークスペースのルート
  • gateway.port (または --port) — ユニークなポート番号
  • 派生ポート (browser/canvas) が重複していないこと

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

Section titled “レスキュー用ボットの構築ガイド”

メインのボットがダウンした際でもデバッグや設定変更ができるよう、独立したレスキュー用ボットを同じホストで動かす手順です。ポート番号は、ベースポートから少なくとも 20 以上の間隔を空けて設定してください。

Terminal window
# メインボット (既存または新規、--profile 指定なし)
# ポート 18789 と各種派生ポートを使用
openclaw onboard
openclaw gateway install
# レスキュー用ボット (隔離されたプロファイルとポート)
openclaw --profile rescue onboard
# 注意点:
# - workspace 名にはデフォルトで -rescue が付与されます
# - ポートは 18789 + 20 以上を確保するか、19789 のような全く別の番号を推奨します
# - その他のオンボーディング手順は通常と同じです
# サービスのインストール (オンボーディング中に完了していない場合)
openclaw --profile rescue gateway install

ベースとなるポート(gateway.port, OPENCLAW_GATEWAY_PORT, または --port)から、以下のポートが自動的に派生します。

  • browser control service port = ベースポート + 2 (ループバックのみ)
  • canvasHost.port = ベースポート + 4
  • Browser profile CDP ports = browser.controlPort + 9 から + 108 の範囲で自動割り当て

設定や環境変数でこれらを上書きする場合は、必ずインスタンス間でユニークな値を指定してください。

  • 複数のインスタンスで browser.cdpUrl を同じ値に固定しないでください。
  • 各インスタンスには、独自の browser control port と CDP 範囲が必要です。
  • 特定の CDP ポートが必要な場合は、インスタンスごとに browser.profiles.<name>.cdpPort を設定してください。
  • リモートの Chrome を使用する場合は、browser.profiles.<name>.cdpUrl をプロファイルおよびインスタンスごとに設定します。

プロファイル機能を使わずに、環境変数で制御する場合の例です。

Terminal window
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

設定が正しいか、以下のコマンドでステータスを確認してください。

Terminal window
openclaw --profile main status
openclaw --profile rescue status

解決しない場合は、AI Setup Assistant も活用してください。

  • Gateway configuration reference
  • CLI command settings
OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。