メインコンテンツへスキップ

目標

永続状態、ビルド時に組み込んだバイナリ、安全な再起動挙動を備えた GCP Compute Engine VM 上で、Docker を使って OpenClaw ゲートウェイを常時稼働させます。 「月額約5〜12ドルで OpenClaw を 24 時間 365 日稼働させたい」場合、これは Google Cloud 上の信頼できるセットアップです。 価格はマシンの種類とリージョンによって異なります。ワークロードに適合する最小の VM を選択し、OOM (メモリ不足) が発生した場合はスケールアップしてください。

何をするのか (簡単に)

  • GCP プロジェクトを作成し、課金を有効にします
  • Compute Engine VM を作成します
  • Docker (分離されたアプリランタイム) をインストールします
  • Docker で OpenClaw ゲートウェイを起動します
  • ホスト上で ~/.openclaw + ~/.openclaw/workspace を永続化します (再起動/再ビルド後も存続します)
  • SSH トンネル経由でノート PC から Control UI にアクセスします
ゲートウェイへのアクセス方法は次のとおりです。
  • ノート PC からの SSH ポートフォワーディング
  • ファイアウォールとトークンを自分で管理する場合の直接のポート公開
このガイドでは、GCP Compute Engine 上の Debian を使用します。 Ubuntu も機能します。それに応じてパッケージをマッピングしてください。 一般的な Docker フローについては、Docker を参照してください。

クイックパス (経験豊富なオペレーター向け)

  1. GCP プロジェクトの作成 + Compute Engine API の有効化
  2. Compute Engine VM の作成 (e2-small、Debian 12、20GB)
  3. VM への SSH 接続
  4. Docker のインストール
  5. OpenClaw リポジトリのクローン
  6. 永続的なホストディレクトリの作成
  7. .envdocker-compose.yml の設定
  8. 必要なバイナリの組み込み、ビルド、起動

必要なもの

  • GCP アカウント (e2-micro の無料枠の対象)
  • インストール済みの gcloud CLI (または Cloud Console を使用)
  • ラップトップからの SSH アクセス
  • SSH + コピー/ペーストに関する基本的な知識
  • 約 20〜30 分
  • Docker と Docker Compose
  • モデルの認証情報
  • オプションのプロバイダ認証情報
    • WhatsApp の QR
    • Telegram のボットトークン
    • Gmail の OAuth

1) gcloud CLI をインストールする (または Console を使う)

オプション A: gcloud CLI (自動化に推奨) https://cloud.google.com/sdk/docs/install からインストールします。 初期化と認証を行います:
オプション B: Cloud Console すべての手順は、https://console.cloud.google.com のウェブ UI 経由で実行できます。

2) GCP プロジェクトを作成する

CLI:
https://console.cloud.google.com/billing で課金を有効にします (Compute Engine に必要です)。 Compute Engine API を有効にします:
Console:
  1. IAM と管理 (IAM & Admin) > プロジェクトの作成 (Create Project) に移動します。
  2. 名前を付けて作成します。
  3. プロジェクトの課金を有効にします。
  4. API とサービス (APIs & Services) > API を有効にする (Enable APIs) に移動し、「Compute Engine API」を検索して有効化 (Enable) します。

3) VM の作成

マシンの種類: CLI:
Console:
  1. Compute Engine > VM インスタンス (VM instances) > インスタンスを作成 (Create instance) に移動します。
  2. 名前 (Name): openclaw-gateway
  3. リージョン (Region): us-central1、ゾーン (Zone): us-central1-a
  4. マシンの種類 (Machine type): e2-small
  5. ブートディスク (Boot disk): Debian 12、20GB
  6. 作成 (Create) します。

4) VM への SSH 接続

CLI:
Console: Compute Engine ダッシュボードで、VM の横にある「SSH」ボタンをクリックします。 注意: SSH キーの伝播には、VM の作成後 1〜2 分かかる場合があります。接続が拒否された場合は、待ってから再試行してください。

5) Docker のインストール (VM 上)

グループの変更を適用するために、ログアウトして再度ログインします:
その後、再度 SSH で接続します:
確認します:

6) OpenClaw リポジトリのクローン

このガイドでは、バイナリの永続性を保証するためにカスタムイメージをビルドすることを前提としています。

7) 永続的なホストディレクトリの作成

Docker コンテナは一時的なものです。 長期的な状態はすべてホスト上に置く必要があります。

8) 環境変数の設定

リポジトリのルートに .env を作成します。
強力なシークレットを生成します:
このファイルをコミットしないでください。

9) Docker Compose の設定

docker-compose.yml を作成または更新します。

10) 必要なバイナリをイメージに組み込む (重要)

実行中のコンテナ内にバイナリをインストールするのは罠です。 実行時にインストールされたものはすべて再起動時に失われます。 スキルに必要なすべての外部バイナリは、イメージのビルド時にインストールする必要があります。 以下の例は、3 つの一般的なバイナリのみを示しています:
  • gog (Gmail アクセス用)
  • goplaces (Google プレイス用)
  • wacli (WhatsApp 用)
これらは例であり、完全なリストではありません。 同じパターンを使用して、必要な数のバイナリをインストールできます。 後で追加のバイナリに依存する新しいスキルを追加する場合は、以下を行う必要があります:
  1. Dockerfile の更新
  2. イメージの再ビルド
  3. コンテナの再起動
Dockerfile の例

11) ビルドと起動

pnpm install --frozen-lockfile の実行中に Killed / exit code 137 でビルドが失敗した場合、VM はメモリ不足です。 最小で e2-small、またはより信頼性の高い最初のビルドには e2-medium を使用してください。 LAN にバインドする場合 (OPENCLAW_GATEWAY_BIND=lan) は、続行する前に信頼できるブラウザのオリジンを設定します:
Gateway のポートを変更した場合は、18789 を設定したポートに置き換えてください。 バイナリを確認します:
予想される出力:

12) ゲートウェイを確認する

成功:

13) ノート PC からアクセスする

ゲートウェイのポートを転送する SSH トンネルを作成します。
ブラウザで開きます: http://127.0.0.1:18789/ 新しいトークン化されたダッシュボードのリンクを取得します:
その URL からトークンを貼り付けます。 Control UI に unauthorized または disconnected (1008): pairing required と表示された場合は、ブラウザデバイスを承認します:

何がどこに永続化されるか (信頼できる情報源)

OpenClaw は Docker で実行されますが、Docker は信頼できる情報源ではありません。 すべての長期的な状態は、再起動、再ビルド、およびマシンの再起動後も存続する必要があります。

アップデート

VM 上の OpenClaw を更新するには:

トラブルシューティング

SSH connection refused SSH キーの伝播には、VM の作成後 1〜2 分かかる場合があります。待ってから再試行してください。 OS Login の問題 OS Login プロファイルを確認します:
アカウントに必要な IAM 権限 (Compute OS Login または Compute OS Admin Login) があることを確認してください。 メモリ不足 (OOM) pnpm install --frozen-lockfile 中に Killedexit code 137 で Docker ビルドが失敗した場合、VM は OOM によりキルされました。e2-small (最小要件) または e2-medium (ローカルビルドの信頼性を高めるために推奨) にアップグレードしてください。

サービスアカウント (セキュリティのベストプラクティス)

個人での使用には、デフォルトのユーザーアカウントで問題なく機能します。 自動化または CI/CD パイプラインの場合は、最小限の権限を持つ専用のサービスアカウントを作成します。
  1. サービスアカウントを作成します:
  2. Compute インスタンス管理者ロール (またはより限定的なカスタムロール) を付与します:
自動化に「オーナー」ロールを使用することは避けてください。最小特権の原則を使用します。 IAM ロールの詳細については、https://cloud.google.com/iam/docs/understanding-roles を参照してください。

次のステップ