2026-05-13 ヘッドレスレンタル Mac mini での OpenClaw:launchd・MCP・夜間エージェントの前に SSH で完了させる初回ブートチェックリスト
ProxyMac で Apple Silicon Mac mini を借り、ノードが 香港・日本・韓国・シンガポール・米国 にあるチームは、Finder や画面共有を開かず SSH だけで OpenClaw を launchd に載せたがります。最も高い代償を払うのは初回プリフライトの省略です。MCP のタイムアウトをネットワークのせいにしつつディスク圧を見落としたり、「API キーがない」を製品バグだと決めつけ、実際は非ログインシェルが変数を継承していないケースです。本稿では (1) 対象と完了の定義、(2) インストール前に必ず取る 3 種の定量化シグナル、(3) 5 列のプリフライト行列、(4) Confluence に貼れる7 ステップ SSH 手順、(5) 症状→対処 表を示し、インストールとデプロイ、MCP 環境と launchd、ゲートウェイトークン JSON、launchctl 復旧へリンクします。macOS のダイアログを人手で押す必要があるときは VNC。スペックは 料金。経路は ヘルプ。
対象と「完了」の定義
OpenClaw を常駐ゲートウェイとし、MCP ツールと JSONL 可観測性を載せるプラットフォームエンジニアと自動化オーナー向けです。「完了」とはコールド再起動後 90 秒以内に SSH で再ログインでき、LaunchAgent が人手で ssh セッションを張り直さずに立ち上がり、構造化ログがモデルとツールのヘルスチェック成功を示すことです。再起動のたびに同僚が export しなければならないなら未完了—それは 並列エージェント のピークで爆発する環境負債です。
- 数値目標:JSONL とモデルキャッシュを載せる APFS ボリュームは少なくとも 25% の空きを維持。計画メンテの短い窓だけ 15% 未満を許容。
- 遅延の現実:運用用ノート PC から該当リージョンへの RTT を記録。コントロールプレーン API が別大陸にあるなら、MCP タイムアウトに 120–220 ms 級の往復を心に留める。
- 同時接続の予算:ピークで 4 本の同時 MCP ハンドシェイクを想定してファイル記述子を見積もり、「ネットは問題ない」と言う。
インストールスクリプトを走らせる前に必ず取る 3 シグナル
まず df -h と diskutil apfs listSnapshots / をスナップショット化—OpenClaw の追記ログと移行ツールが残した APFS スナップショットは衝突しやすいです。次に sysctl hw.optional.arm64 と uname -m を表示し、arm64 の Apple Silicon であることを確認(Rosetta と Node バイナリの混在を避ける)。第三に ssh host 'command -v openclaw' と ssh -t host zsh -lic 'command -v openclaw' を突き合わせる。食い違えば、MCP 環境の記事 が説明するのと同型の launchd 不具合で堂々巡りになります。3 組の出力をチケットに貼れば、次の当番は口伝ではなく事実を継承します。
launchctl kickstart が 1 周する壁時計時間(M4 上のゲートウェイスケルトンは 12 秒未満が目安)。
プリフライト行列:成果物・所有者・検証・ロールバック・省略時の爆発半径
| 成果物 | 所有者アカウント | 検証 | ロールバック | 省略時の影響範囲 |
|---|---|---|---|---|
| ワークディレクトリ | LaunchAgent と同じ UID | ls -le で ACL 監査 |
アーカイブ後 install -d -o で再作成 |
ツール導入時のサイレント半書き込み |
| JSONL パス | _openclaw などのロールユーザー |
クォータとローテーション方針 | バックアップ後に切り詰めてローテーションを締める | 深夜の書き込みピークでボリューム全体が満杯 |
| plist ProgramArguments | root 以外の LaunchAgent ドメイン | plutil -lint と git diff |
launchctl bootout 後に plist を戻す |
起動ループが CPU 枠を食い尽くす |
| モデルプロバイダの秘密鍵 | キーチェーンまたは mode 600 のファイル参照 |
タイムアウト付き非対話プローブ | キーをローテーションしキャッシュを消す | 共有ラボでのテナント横断漏えい |
| MCP サービス一覧 | リポジトリの固定 SHA | チェックサム + openclaw doctor の一部 |
直前の SHA に checkout | ツール schema のドリフトでエージェントが途切れる |
7 ステップ SSH 手順(Confluence にそのまま貼れる)
- ストレージ基線:空きが 25% 未満ならインストールを拒否。先に掃除するか SKU を上げる—料金 を参照。
- 時刻合わせ:NTP が健全か確認。
date -uとリージョン意図(HK / JP / KR / SG / US)を設定の横にメモし、クロスリージョンのログ相関を容易にする。 - OpenClaw のインストール/更新:インストールガイド に従うが、PATH スナップショットが通った後だけ。
- plist に PATH を固定:Homebrew の
/opt/homebrew/binと必要なランタイムマネージャのパスを含める—暗黙の継承に頼らない。 - 二段スモーク:まず SSH 前景でゲートウェイを起動し、同じ引数で
launchctl kickstart。JSONL の起動トークン行を突き合わせる。 - 診断の接続:ログガイド に従い JSONL を有効化しローテーションを検証。48 時間でファイルが無限成長しないこと。
- 引き継ぎ:再起動オーナーとアラートの深刻度を明記し、復旧記事 をリンク。チケットに plist のハッシュを添付。
chmod 600 にし、plist 検証後すぐ安全に削除する。
症状 → 想定原因 → 第一選択の対処(依然として SSH のみ)
| 症状 | 想定原因 | 第一選択の対処 |
|---|---|---|
| MCP ツールの終了コード 127 | launchd 下で PATH が切り詰められている | plist に絶対パスか薄いラッパースクリプトを書く |
| デプロイ後ゲートウェイがアイドル CPU 95% | タイトループまたはログ書き込みのブロック | JSONL ボリュームのレイテンシを確認しログガイドに沿ってローテート |
| 再起動後だけ認証エラー | トークンが shell profile にしかない | plist の EnvironmentVariables かキーチェーンへ—トークン記事参照 |
| ハンドシェイクが約 40 秒で固まる | DNS やレート制限がパケットロスに見える | 並列度を下げ、mini 上で明示的に解決テストを実行 |
SSH から VNC にエスカレーションするタイミング(低頻度に保つ)
プロファイル、権限修復、plist で片付く TCC は SSH に留める。VNC は「画面収録」をクリックする必要があるとき、GPU UI 自動化を目視するとき、デザイナーが JSONL を読めず画面共有が要るとき。セッションは短く:色深度を下げ、大きな scp を一時停止し、クロスリージョン遅延調整と組み合わせてマウス操作を成立させる。HK / JP / KR / SG / US に展開した OpenClaw クラスタの多くは、世代ごとに VNC は一度で足り、毎週ではない。
FAQ
Homebrew は必須? 必須ではないが、ドキュメントが暗黙に前提するなら行列に PATH 仮定を明示しないと同じ事故を繰り返す。
常に個人の管理者アカウントでよい? デモなら可。本番はロールアカウント、制限付き sudo、明確なログ所有者を使う。
企業 HTTP プロキシは? SSH が ProxyCommand を使うなら、MCP の出口も同様かもしれない—先に企業ネットワーク系の記事を揃えてから OpenClaw を責めない。
なぜ ProxyMac Mac mini がヘッドレス OpenClaw に向くか
レンタルの Mac mini M4 は ネイティブ macOS と予測可能なシングルテナント CPU を束ね、OpenClaw が Apple スタックのツールチェーンだけを編成しつつ、運用は Linux ノートで続けられる構成に合う。ゲートウェイを HK / JP / KR / SG / US に置けば API リージョンにコントロールプレーンを近づけ、五拠点のラックを自前で立てなくてよい。チェックリストを通したあとは、CI と同じ金属の経済モデルを継続—料金 を比較し、ヘルプセンター で緊急 SSH を演習し、VNC はポケットに、クリティカルパスからは外す。
証跡チェーンでヘッドレス OpenClaw を運用
チェックリスト · launchd · HK / JP / KR / SG / US