2026年 OpenClaw をクラウド Docker と Tailscale でゼロ公開に載せる構成のイメージ

小型 Linux VM で OpenClaw Gateway を載せる要件は MCP/Streamable HTTP を tailnet のみに閉じる。Compose で Tailscale を サイドカーにし、状態は永続ボリューム、Gateway はブリッジか 127.0.0.1 のみ。publish は SG より先に効く。Docker とネイティブの整理は OpenClaw 遠隔 Mac デプロイ実装 へ。

1. Compose サイドカーと ports:

サイドカーと Gateway は同一ブリッジ、Tailscale 状態はコンテナ別ボリュームで共有しない。ports: "443:443"0.0.0.0 待受は公網へ穴が開く。MagicDNS と tailnet 内 TLS 終端、openclaw.json も同規律。docker ps で公開マッピングを先に確認。

2. tailnet と HTTPS/Bearer

tailscale up 後は tailscale cert で信頼チェーンを整える。トークンは env/secret で注入しレイヤに焼かない。Bearer はプロキシと Gateway で二重化、401 と TLS はログ分離。秘密は ローリング再起動で回す。

3. Serve と Funnel

serve は tailnet 内、Funnel は公網露出。ゼロ公開なら Funnel オフと監査。ホスト名・パス接頭辞と Gateway ベースは同一変更で揃える。 stdio/Streamable HTTP と ENOENT も参照。

4. 接続失敗の順序

1)tailscale status と NeedsLogin。2)curl -vk3)Bearer 付き curl で TLS と 401 を分離。4)stdio 可・HTTP 不可ならタイムアウトとボディ上限。ACL 絞り訓練をスクリプト化。

  • 再起動で状態ボリューム喪失。
  • ホスト tailscaled とコンテナのルート衝突。

Linux で制御面、重い半分は macOS

Gateway は安い Linux、公証・署名・GUI は macOS へ。tailnet の Compose と 専有 Mac mini で帯域と Xcode を活かし公網は閉じたまま。待機は約 4WGatekeeper/SIP/FileVault で無人向き。Mac mini M4Macstripe のホーム から同じ tailnet に載せこのスタックとペアにするのが現実的で、Mac mini M4 は今が手頃です。