対象読者リモート MacOpenClaw を載せる開発者と小規模運用担当。核心キーワードOpenClawgatewayヘルスチェックLaunchAgent。バインド・トークン・更新の要点と、環境変数・plist・検査シェル・ログの再現手順を整理します。CI プリフライトと接続すると停止検知が早くなります。併読:セキュリティ実戦MCP プリフライト依存プレプル自動化

2026 年セルフホスト gateway の典型リスク(バインド・トークン・更新)

設定ドリフトと無言停止が増えやすい領域です。バインドを広げると露出が増え、トークンの平文漏えいや更新後のキー変更で LaunchAgent がループし、CI 前置だけが黙って失敗します。

論点 よくあるミス 運用メモ
バインド 0.0.0.0 かつ認証薄い 127.0.0.1 既定、外向きは別記事のトンネル等
トークン リポ直書き・チャット貼付 plist 環境変数または Keychain、ローテを Runbook 化
更新 いきなり本番差し替え 別ラベルで試し kickstart 前後にヘルス二重確認

前提条件と環境変数

Node は公式要件どおり fnm 等で固定し、先頭ログに openclaw --version。導入は公式 curl スクリプト優先。workspace に openclaw.jsonlogs/、トークンとポートは plist に明示します。

HowTo:六手順
  • 1node -v 固定、シェルと launchd の PATH 一致
  • 2:workspace 絶対パスを WorkingDirectory
  • 3:手動で openclaw gateway(または文書の起動子)を一度成功
  • 4:標準出力・エラーをログファイルへ
  • 5~/Library/LaunchAgents に plist、launchctl bootstrap gui/$(id -u)
  • 6:CI 等からヘルスシェル、失敗時は通知と kickstart

ゲートウェイ起動とバインド戦略

パターン セキュリティ 向くシーン
127.0.0.1+長いトークン リモート Mac 単体・CI 同梱の既定案
Unix ドメインソケット 同一ホスト内のプロキシ連携
0.0.0.0 原則禁止(VPC 内でも WAF/認証必須)

手動疎通後に plist 化すると EADDRINUSE 等を早く潰せます。MacPull のリモート Macなら依存プレプル旁路とヘルスチェックを同一 runner に寄せやすく、復帰も短くなります。

ヘルスチェック用スクリプト雛形(LaunchAgent と併用)

URL は文書の readiness に合わせて差し替え。-sf で失敗時非ゼロ、CI 前置や StartCalendarInterval から呼びます。

#!/bin/bash
set -euo pipefail
: "${OPENCLAW_GATEWAY_TOKEN:?}"
: "${GATEWAY_URL:=http://127.0.0.1:18789/health}"
curl -sf -H "Authorization: Bearer ${OPENCLAW_GATEWAY_TOKEN}" "${GATEWAY_URL}" >/dev/null
echo "ok $(date -Iseconds)" >>"${OPENCLAW_LOG_DIR:-$HOME}/openclaw-health.log"

plist 要点Label 一意、ProgramArgumentsopenclawgatewayRunAtLoadKeepAlive、必要なら ThrottleInterval 秒。

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0"><dict>
<key>Label</key><string>com.example.openclaw.gateway</string>
<key>WorkingDirectory</key><string>/Users/you/ws</string>
<key>EnvironmentVariables</key><dict>
<key>OPENCLAW_GATEWAY_TOKEN</key><string>REPLACE</string>
<key>PATH</key><string>/opt/homebrew/bin:/usr/bin:/bin</string>
</dict>
<key>ProgramArguments</key><array>
<string>/opt/homebrew/bin/openclaw</string><string>gateway</string>
</array>
<key>RunAtLoad</key><true/><key>KeepAlive</key><true/>
<key>StandardOutPath</key><string>/Users/you/ws/logs/out.log</string>
<key>StandardErrorPath</key><string>/Users/you/ws/logs/err.log</string>
</dict></plist>

ログ観測とよくあるエラー FAQ(最小トラブルシュート)

ログ三手
  • tail -n 200 err ログでスタック確認
  • launchctl print gui/$(id -u)/ラベル で終了コード
  • lsof -nP -iTCP -sTCP:LISTEN でポート競合

Q. すぐ Exited:Node・PATH・WorkingDirectory。手動と plist を突合。

Q. 401:トークン/ヘッダ綴り。設定と揃える。

Q. 更新後のみ不安which openclaw を plist と一致確認し kickstart -k

まとめ

まとめgatewayバインドトークン更新の三点が事故率を決めます。LaunchAgent は作業ディレクトリとログを絶対パス、ヘルスチェックは CI 前置へ。専用リモート Macホーム料金購入ヘルプ(ログイン不要)、ブログ一覧もどうぞ。

ゲートウェイ常駐と CI プリフライトを同一ノードで

OpenClaw 用に安定したリモート Mac ノードを選ぶ

依存プレプル・モデル取得の旁路ジョブとヘルスチェックをまとめ、停止検知から復帰まで短く。料金・購入・ヘルプはログイン不要です。