macOS · Linux · WSL2 · Docker · launchd · systemd · 再現可能な検証
ノート PC、サーバー、WSL2、コンテナのいずれでも OpenClaw Gateway を蓋を閉じても途切れさせたい開発者が詰まる原因は、多くの場合モデルキーではなく、対話シェルとデーモンで Node の実体が一致しないこと、systemd ユーザーユニットに同じ環境ブロックが載らないこと、Docker が誤ったループバックにバインドしていることです。本稿ではプラットフォームごとの合格/不合格の事前判定、公式スクリプト・パッケージマネージャ・ソース・コンテナの四択表、macOS の launchd と Linux の systemd での openclaw onboard と --install-daemon の確認コマンド、バージョン・Gateway 状態・バインド面のゲート、そして常時オンラインの Mac ノードに寄せる前の Runbook をまとめます。深いエラー調査は インストールと Gateway 障害対応の長文、常駐とプロセスの言い回しは 永続クラウドデプロイのプレイブック、露出面とホワイトリストは 本番強化チェックリスト、算力と発注導線は レンタル料金 と 注文ページ を参照してください。
2026年の OpenClaw インストールはスクリプト化されていますが、コストが高いのはデーモン文脈の理解です。対話式 zsh では node -v が正しくても、launchd や systemd が起動するプロセスは短い PATH、別のホーム、欠落した API キーを引き継ぐことがあります。WSL2 では Windows Defender やポート転送、DNS が Linux 前提の上に重なります。Docker ではボリュームマウント、数値 UID、公開ポート、ループバックの意味づけが加わり、ダッシュボードはローカルで開けても受信 Webhook が届かないことがあります。以下の五つはコミュニティでも繰り返し出る論点であり、設計レビューに書き込むほうがグローバル npm を二度入れ直すより時間を節約できます。
各欠口を二値のゲートとして扱います。不合格なら機能開発を止め、まず環境契約を直します。この順序を飛ばすと、金曜夜に緑のスクリプトを祝い、土曜朝に無言のデーモンで目が覚めることがあります。勝利宣言の前に再起動や wsl --shutdown を済ませていない典型例です。
Node LTS とバイナリのズレ:上流は新しめの Node LTS を想定します。nvm、fnm、asdf、ディストロパッケージを混在させると、ターミナルは黄金でもスーパーバイザ配下は古いバイナリになりがちです。合格基準は、サービスと同じ UNIX ユーザーで which node とバージョンを出し、openclaw doctor または相当のヘルスコマンドと突き合わせることです。パスが食い違えば不合格です。
WSL2 と systemd の前提:一部ディストリビューションでは systemd の明示有効化やユーザーの lingering が必要で、対話ログインなしではユーザーユニットが残りません。合格基準は、手動シェルなしで WSL を完全再起動したあともユニットが active であることです。一度 SSH やターミナルを開かないと起動しないなら不合格です。
Docker のボリュームと設定の単一の正:設定をコンテナの書き込み層だけに置くと、次のイメージ pull で秘密と状態が消えます。合格基準は、設定ディレクトリと環境ファイルをバインドマウントまたは名前付きボリュームに載せ、アップグレード前にバックアップと復元手順が文書化されていることです。
リスナーの既定値:開発では 0.0.0.0 が楽に見え、本番では公開ダッシュボードになります。合格基準は、本番 Runbook がループバックまたはリバースプロキシでの TLS 終端を要求し、本番強化の記事と一致することです。
ログとローテーション:標準出力だけに流し続けると小さなクラウドディスクが満杯になり、インシデント時の証跡も失われます。合格基準は、顧客トラフィックを載せる前にログの行き先、保持日数、集中ログとの整合が定義されていることです。
五行を合格/不合格で記録してから、次節のインストール経路を選びます。スコアカードは、使い捨てノート試作なのか、チャネルと Webhook と監査を載せるトポロジーなのかを示します。
iOS ビルドとエージェント自動化を同時に運用するチームは、Node の正、設定の正、ログディレクトリを同じアーキテクチャ一枚に載せるとよいでしょう。タスクチェーンや共有ビルドプールの文書と語彙を揃えれば、インシデントレビューごとに PATH とデーモンの講義を繰り返す必要がありません。
各経路は別の制約に最適化されます。初回成功までの時間、監査可能性、パッチの速さ、依存関係の隔離です。curl と PowerShell インストーラは手作業を減らしますが、エアギャップミラーと衝突し得ます。グローバル npm は JavaScript プラットフォームチームに馴染みますが、デーモン配下の PATH 分岐を増幅します。ソースビルドはホットフィックスとカスタムフラグを可能にし、CI 時間と引き換えにします。コンテナはライブラリを隔離しつつ、ネットワーク、UID マッピング、ボリュームバックアップを明示設計させます。万能解はなく、変更管理、コンプライアンス、オンコールの熟練度が維持できる答えが正解です。
複数経路が魅力的なときは使い捨てホストで並行試作しつつ、設定の権威は一つに保ちます。共有された秘密戦略なしの並行実験は、ばらばらの .env と doctor の偽陽性を保証します。
| 経路 | 主な利点 | 主なリスク | 向く場面 |
|---|---|---|---|
| 公式 curl / ps1 スクリプト | 手順が最も少なく上流既定に近い | プライベートネットではミラーが要り、バージョンは別記録が必要 | 個人と五人未満のチームで価値を早く示すとき |
| グローバル npm / pnpm / bun | JS ツールチェーンと整合し semver を固定しやすい | デーモン下で PATH と権限が分岐しやすい | Node 供給鎖が統一されている組織 |
| ソースビルド | パッチと起動引数の調整が可能 | ビルドと CI の維持コストが高い | フォークや緊急修正を出すセキュリティチーム |
| Docker / Podman | 依存を隔離し水平試験が速い | ボリューム、UID、ループバック、ホストポートの設計が重い | マルチテナントの試験環境や短時間のピーク |
インストール成功とは、コールドブート後も同じ検証コマンドをデーモンが通すことであり、一度の対話ターミナルで動いたことだけではありません。
macOS ノート、Linux クラウド、WSL2、コンテナは移行プログラムで共存できますが、設定の権威と秘密の注入方法は一つに揃える必要があります。チェックリストなしで .env の断片を環境間コピーすると、一週間以内にドリフトします。
手順は特定の CI ベンダーから切り離されています。各段階は成果物を残します。コマンド出力、ユニット状態のスクリーンショット、設定ファイルのチェックサムを変更チケットに添付します。失敗したら長いログに入る前に第一節へ戻ります。環境ゲートが緑になったら doctor 障害対応の長文 で未知を絞り込みます。
各コマンドの横に正確なパッケージ名またはコンテナタグを書きます。未来の自分と当番エンジニアが、インストール当日に承認された semver を推測すべきではありません。
Node とパッケージマネージャを固定:サービスユーザー下で LTS を入れ、PATH を静かに書き換えるシェルフックを無効にし、Runbook 付録に node -v と npm -v または pnpm と bun の相当情報を記録します。
サポート対象インストーラを実行:Unix 系では公式スクリプトまたはリリース向けに文書化されたパッケージフローに従います。Windows では WSL2 または文書化された PowerShell 経路を優先し、グローバルモジュールの所有を争う二つのランタイムを混ぜません。
秘密とモデルで onboard を完了:API キー、ワークスペースのルート、既定のモデル段を合意した設定ファイルに書きます。シェル履歴や誰でも読める一時ファイルに秘密を残しません。
openclaw onboard --install-daemon を実行:インストーラが印字するユニットラベルを控えます。macOS では launchctl を確認し、Linux では systemctl --user またはシステムレベルのパスを、インストールしたバージョンの上流ドキュメントと照合します。
コールドスタートの証明:OS を再起動するか wsl --shutdown を実行し、ログインシェルを開かずにサービスが active か確認します。SSH 後にしか起動しないならユーザー lingering が未完です。
ロールバックのアンカーを取得:アップグレード前にディスクイメージのスナップショット、コンテナタグ、旧設定ツリーの tarball を残します。ロールバックは既知の良好なユニットを戻すのであって、深夜の plist や unit 手編集ではありません。
openclaw --version openclaw gateway status # macOS:読み込まれたデーモンラベル(実際のユニット名に置換) launchctl list | grep -i openclaw || true # Linux:ユーザースコープ systemd の例 systemctl --user status openclaw-gateway.service || true
ヒント:サブコマンドとユニット名はリリースごとに変わります。断片はレイヤー図として読み、固定文字列と捉えず、インストールしたバージョンの出力に従ってください。
デーモンが active でも、リスナー、TLS 終端、リバースプロキシヘッダが正しいことの証明にはなりません。表を公開チャネルを載せる前のリリースゲートとして使います。飛ばすと、チャットは動くが監査は通らない灰色地帯が残ります。
初回インストールだけでなく、Node の更新、証明書ローテ、インフラ変更のたびにゲートを回します。回帰はアプリのデプロイより無言のパッケージ更新から来ることが多いです。
| 検査 | 期待 | よくある失敗サイン |
|---|---|---|
openclaw --version | Runbook で固定した semver と一致 | PATH 分岐で二つのビルドが混在 |
gateway status | 健全または文書化されたエラーコード | 設定パース失敗が stdout のノイズで見逃される |
| リスナーインターフェース | 本番はループバックまたはプロキシで終端 | ダッシュボードが公網から直叩きできる |
| 外向き LLM 経路 | デーモン環境から curl や SDK プローブが成功 | 企業プロキシ変数が systemd に渡っていない |
注意:本番強化チェックリストのホワイトリストとスキル監査は、Gateway とアダプターが安定してから適用します。順序を逆にすると、制限が無効なままトラフィックが入る窓が開きます。
以下の三つは合成ベンチマークではなく、財務、セキュリティ、プラットフォーム責任者向けのプロジェクト前のすり合わせ用プロンプトです。SLA に署名する前に、定性的なしきい値を自組織のテレメトリとチケットデータの数値に置き換えてください。
ノート PC はスリープ、蓋閉じ、macOS アップデート、対話型キーチェーンに振り回されます。開発には最適で、週七日エージェントの唯一の宿主には向きません。自前サーバーはラック、パッチ、リモートハンドにコストが移ります。Gateway を契約で縛れるクラウド Mac Mini に置くと、コールドスタート、semver、リスナーポリシーを調達レビューで検証できる条項にできます。
よくある誤解:自分のマシンで動いたを全員に再現できるとみなし、ユニット名、環境ブロック、設定の権威を共有しないと、障害対応はチャットのスクリーンショットに退化します。
iOS と macOS のビルド容量が OpenClaw と夜間自動化を共有しなければならないとき、個人機と借り物は監査証跡や稼働目標を満たしにくいです。運用摩擦を減らし、リージョンを選び、契約期間を柔軟にしたいチームは、VpsMesh の Mac Mini クラウドレンタルに落ち着くことが多いです。デーモンとチャネル方針を専用ホストに載せ、ヘルプセンター と 注文ページ でオンボーディングを揃え、ノートのスリープ方針と永遠に折り合う必要はありません。
Windows デスクトップのツールチェーンと同一マシンで密に協調し、カーネルと systemd を確認するなら WSL2 です。純粋なサーバー納品ならネイティブ Linux を優先します。リモートの習慣と疎通は ヘルプセンター と関連ブログを併読してください。
まず インストールと Gateway 障害対応の長文 で Node のパス、権限、設定の優先順位、ポート占有を確認し、本稿に戻ってユニットのコールドスタートを再確認します。
公開トラフィックを開く前に 本番強化とマルチチャネルのチェックリスト を完了します。専用ノードが必要なら 注文ページ でリージョンと期間を選びます。