メンバーごとの環境ファイル · ワークスペースの分離 · ログ可能な受け入れ · 6 ステップのロールアウト · Mac プールのハンドオフ
小規模チーム向けに 24 時間 365 日 1 つの OpenClaw ゲートウェイを実行するプラットフォームのリーダー 毎週同じ質問を聞きます。共有できますか?はい、でも モデル キー、チャネル トークン、およびワークスペース パスが 1 つの未監査の .env に存在する場合、次の構成ミスにより完全な停止が発生します。この記事は答えます 誰がどの問題を抱えているのか (マルチユーザーアクセス、キーローテーション、不明瞭な所有権)、その後、 結論: 共有を次のように扱います コンパートメント (個別の env_file ルート、データ ディレクトリ、およびポート テーブル)、最小権限、およびセグメント化されたログの受け入れ。あなたは得ます 問題点、選択マトリックス、6 ステップのランブック、ハード パラメーター、サインオフ マトリックス。名前空間レベルの CLI エラーについては、以下を参照してください。 ネットワークのトリアージを構成する;メモリ制限とログローテーションについては、を参照してください。 実稼働ベースラインを構成する;同じホスト上の 2 番目のスタックについては、を参照してください。 マルチインスタンス分離;チャンネル露出については、を参照してください。 生産強化チェックリスト;インストール言語パリティ使用用 設置と医師のチェックリスト; Mac の専用容量使用用 注文ページ。
共有は、グループ チャットに管理者キーを貼り付けることと同じではありません。各エンジニアが同じ変数名をローカルにエクスポートするか、CI が 1 つのパスをハードコードすると、次のようになります。 1 つのゲートウェイ プロセスと N 個の相反する真実。これら 5 つのパターンは 2026 年のサポート スレッドを支配していました。それらを明文化したルールに変えることは、より多くのコンピューティングを購入することよりも優れています。
ワークスペースに関連付けられたキー: 単一のリポジトリレベルでチャネルシークレットの隣にプロバイダーキーを保存する .env これは、1 つの間違ったコミットによりフリート ローテーションが強制されることを意味し、どの CLI が最後の書き込みを実行したかがログに示されることはほとんどありません。
バインドとポート マトリックスが欠落しています: ステージング スタックが隣接するポートを取得し、本番環境は正常に見えますが、ヘルス チェックで間違ったプロセスがヒットします。オンコールはルーレットの再起動に戻ります。
チャネル許可リストと実際の出力: 企業の代理人を介して退出するメンバーもいれば、自宅のブロードバンドを使用するメンバーもいます。 allowedOrigins 1 つの形状のみをカバーできるため、 アリスだけが機能し、ボブには常に 403 が表示されます、RBACと誤読されました。
コンパートメントの受け入れ言語がありません: ローンチレビューでは「メッセージを送信できるか?」と尋ねられます。しかし、「各メンバーが個別の env_file をマウントし、バックアップを分割するのか」ということは決してありません。翌日、コンプライアンス部門が証拠を求めますが、チームには証拠がありません。
Mac プールのハンドオフ パスからのドリフト: Gateway は VPS 上に存在し、重いビルドはリモート Mac 上で実行されます。 SSH ホスト名、プライベート DNS、および受信コールバック用の 1 つのトポロジ シートがないと、Webhook がフラップし、チームがモデルのタイムアウトを誤って発生させます。
税金を成果物にマッピングします。 ポート テーブル、env_file マップ、チャネル起点リスト、最小限のバックアップ セット、および 1 つの最小のチャネル プローブ コマンド。これら 5 つのアーティファクトがなければ、運用プロファイルに新しいメンバーを追加しないでください。官僚的だと感じます。それは、暗黙知がどのようにして説明可能な構成になるのかということです。
組織的なレンズを追加します。共有ゲートウェイは、単独のホームラボよりも頻繁に変更されます。レビューは「長編作品」から卒業し、 ロールバック可能、二分可能、およびハンドオフ可能。すべての変更では、古い値と新しい値、影響を受けるメンバー、N 時間の二重書き込みキーなどのロールバック ウィンドウをリストする必要があります。
最後に、共有とはルートを共有することではありません。 Docker ホストが 1 つであっても、名前付きボリューム、サブディレクトリ ACL、読み取り専用マウントを使用して固定します 書き込み可能なワークスペースの境界;それ以外の場合は、1 回の誤った削除により、運用セッション状態とステージング セッション状態の両方が削除されます。読む COMPOSE_PROJECT_NAME の分離 「2 つの構成ファイル、1 つのマウント ポイント」のトラップを回避するため。
税金がチェックリストになると、チームは次の正直な質問をします。1 人ごとに別々のゲートウェイを使用するのか、それともコンパートメントのある 1 つのゲートウェイを使用するのか、ということです。次のセクションでは、コスト、露出、運用負荷を同じレビュー ページにまとめます。
普遍的な答えはなく、当てはまるものがあるだけです チームの規模、コンプライアンス、操作する TLS エンドポイントと Webhook の数。マトリックスを印刷します。四半期のデフォルトを 1 つ選択し、次の層にエスカレーションする必要がある場合について脚注を書きます。
| モード | それが合うとき | 主なメリット | 主な費用 |
|---|---|---|---|
| メンバーごとのゲートウェイ | 最大 3 人、強力な分離、または人間ごとに 1 つの監査証跡ルール | 最小の爆発半径。回転はカスケードされません | CPU、RAM、重複した Webhook、複数の TLS ライフサイクル |
| 単一のゲートウェイ、コンパートメントされたキー | 5 ~ 15 人、共有コールバック ドメイン、統合ダッシュボード | 作戦表面が集中します。指標が一致する | env_file とディレクトリを厳密に分離するか、ドリフトが爆発する必要があります |
| 単一ゲートウェイ、役割ベースのボリューム | プラットフォーム チームと製品チームには、書き込み可能と読み取り専用の使用が必要です | インストールが少なくなります。強化チェックリストを 1 か所で適用 | ボリューム権限と CI マウントは微妙になります。レビューはもっと細かくなければなりません |
共有は次の場合にのみ機能します すべての違いは共有の変更可能なデフォルトではなく、置換可能なファイルにマップされます;そうしないと、スループットではなく、インシデントに対して規模の経済が得られます。
コンパートメントを含む単一のゲートウェイに到達した場合は、コンパートメントを 機械チェック可能なトリプル: COMPOSE_PROJECT_NAME、データ ディレクトリ マウント、およびメンバーごと env_file。 3 行で説明できない場合、そのコンパートメントはまだ現実ではありません。
最も安価な可観測性が最初です。いずれかのステップが失敗した場合は、出力を停止して保存します。ウィザードのフィールド名が異なる場合は、次のように調整します。 設置と医師のチェックリスト。
スケルトンをフリーズします。 実稼働用とステージング用にルートを分け、README ではクロスシンボリックリンクを禁止しており、名前付きボリュームまたはバインドマウントを選択し、その選択をバージョン管理します。
env_file を分割します: ベースライン (リッスン、ログ レベル) とメンバーの秘密 (モデルとチャネル)。 CI は読み取り専用トークンを挿入し、ホストに書き戻すことはありません。
ポートテーブルを確認します。 公開ポート、コンテナ内バインド、およびホスト ファイアウォールは三角測量する必要があります。の症状ツリーとクロスチェックします。 ネットワークのトリアージを構成する。
最小限のチャネルプローブ: 各メンバーは、CLI またはブラウザーのオリジンを使用して送受信を実行し、タイムスタンプとリクエスト識別子をキャプチャします。すべての 403 には原点の差分を含める必要があります。
バックアップ訓練: 最小の復元可能なセット (構成とセッション ポリシー) をエクスポートし、ステージングでコールド スタートし、変更の脚注に RTO および RPO 番号を書き込みます。
オンコールパケット: 3 つのコマンドを残します。 openclaw doctor、最後の 200 のゲートウェイ ログ行、およびチャネル ステータス。次の応答者はプライベート チャットを必要としてはいけません。
/srv/openclaw/
prod/
compose.yaml
env/
base.env
alice.env
bob.env
data/
staging/
compose.yaml
env/
base.env
alice.staging.env
data/
ヒント: 1 つのホスト上で並列の 2 番目のスタックが必要な場合は、次の内容を読んでください。 マルチインスタンス分離 ポートテーブルの場合と COMPOSE_PROJECT_NAMEを選択し、この Runbook にマージします。
構成内で指定できるのはステートメントのみであり、雰囲気ではありません。メモリ制限と json ファイルのローテーションについては、次を使用します。 実稼働ベースラインを構成する。
18789 デフォルトのローカル コントロール プレーン コンテキストとして。サインオフでは、整数だけでなく、バインド アドレス、リバース プロキシ パス、UI がインターネットにアクセス可能かどうかをリストする必要があります。警告: 1 つのチケット内のモデル キー、チャネル トークン、および TLS 証明書をローテーションしないでください。三角形の変更により、ロールバックが二等分できなくなります。 TLS パスの場合は読み取ります リバースプロキシTLSガイド。
デモからのアップグレード受け入れ チェックボックス付きのコンプライアンス言語: デフォルトの拒否、明示的な許可、ロールバックの準備ができています。チェックできない行がある場合は、内部プロファイルに留まります。
| チェックする | 合格基準 | 典型的な故障信号 |
|---|---|---|
| キーコンパートメント | メンバーごと env_file、CI は読み取り専用インジェクションを使用します。 | 共有 .env git 履歴または貼り付けられたシークレット内 |
| 露出 | コントロール プレーンはパブリック インターネットから直接アクセスできないか、ホワイトリストまたは mTLS によって制限されています | スキャンにより未認証のダッシュボードが検出される 0.0.0.0 |
| 可観測性 | 403 またはタイムアウトは 5 分以内にオリジン、エッジ、またはアップストリームにマッピングされます | リクエスト識別子のないスタック |
1 人の優秀なエンジニアのメンタル マップに依存すると、離職時に苦痛が確実に発生します。 Runbook とポート テーブルをリポジトリ アセットとして扱うことで、AI エージェントがおもちゃからインフラストラクチャに卒業します。
よくある間違い: 最初の 403 でモデル キーをローテーションします。ほとんどのインシデントでは、最初に発信元と出力のマトリックスが必要です。
リストが書かれていない一時的なシェルハッキングは、監査で生き残ることはほとんどありません。 OpenClaw を固定出力、ホスト名、プライベート メッシュ トポロジとともに記述する必要がある場合、 アドホック VPS スタックには重要な変更記録が欠けていることがよくあります。 iOS ビルド、デスクトップ ハンドオフ、および常時オンのエージェントの場合 独占的、地域ごとに予測可能 Gateway と Mac プールが 1 つの語彙を共有するフットプリント、 通常は、VpsMesh Mac Mini クラウド レンタルの方が適しています。: 専用ノードはバインドと ACL ナラティブを簡素化し、 プライベートメッシュランブック;価格設定がオンになっています 価格ページ、接続がオン ヘルプセンター。
ポートとバインド マトリックス、データ ディレクトリの所有権を公開します。 COMPOSE_PROJECT_NAME、メンバーごと env_file 地図。コマンドを実行する前にテーブルを更新します。強化アイテムについてはこちらを参照 生産強化チェックリスト。
デュアル書き込みウィンドウ: 別の env_file に新しいキーを追加し、ステージングでチャネルを検証し、プロダクション構成参照を切り替え、ロールバック ウィンドウを保持してから実行します。 openclaw doctor そして最小限のプローブ。注文と出力のニーズ: 注文ページ。
タイムスタンプを調整してエッジ認証をアプリケーションから分離する allowedOrigins。 1 つのメンバーだけが失敗した場合は、メンバーの CLI の発信元または出力が許可リストと照合していることを確認してから、読み取りを行ってください。 ネットワークのトリアージを構成する そして ヘルプセンター。