GCP Compute Engine 上の OpenClaw(Docker、本番 VPS ガイド)
目的
Docker を使って GCP Compute Engine VM 上で永続的な OpenClaw Gateway を実行し、耐久的な状態、イメージに bake されたバイナリ、安全な再起動動作を実現します。 「月額およそ 5〜12 ドルで OpenClaw を 24 時間 365 日動かしたい」場合、これは Google Cloud 上で信頼性の高いセットアップです。 料金はマシンタイプとリージョンによって異なります。ワークロードに合う最小の VM を選び、OOM が発生したらスケールアップしてください。何をするのか(簡単に言うと)
- GCP プロジェクトを作成して課金を有効にする
- Compute Engine VM を作成する
- Docker をインストールする(分離されたアプリ実行環境)
- Docker 内で OpenClaw Gateway を起動する
- ホスト上に
~/.openclaw+~/.openclaw/workspaceを永続化する(再起動 / 再ビルド後も保持) - SSH トンネル経由でノート PC から Control UI にアクセスする
~/.openclaw の状態には、openclaw.json、エージェントごとの
agents/<agentId>/agent/auth-profiles.json、および .env が含まれます。
Gateway には次の方法でアクセスできます:
- ノート PC からの SSH ポートフォワーディング
- ファイアウォールと token を自分で管理する場合の直接ポート公開
クイックパス(経験のある運用者向け)
- GCP プロジェクトを作成し、Compute Engine API を有効にする
- Compute Engine VM を作成する(e2-small、Debian 12、20GB)
- VM に SSH 接続する
- Docker をインストールする
- OpenClaw リポジトリーを clone する
- 永続化用のホストディレクトリーを作成する
.envとdocker-compose.ymlを設定する- 必要なバイナリを bake し、ビルドして起動する
必要なもの
- GCP アカウント(e2-micro の free tier 対象)
gcloudCLI インストール済み環境(または Cloud Console を使用)- ノート PC からの SSH アクセス
- SSH とコピー / ペーストの基本的な操作
- 約 20〜30 分
- Docker と Docker Compose
- モデル auth 認証情報
- 任意のプロバイダー認証情報
- WhatsApp QR
- Telegram bot token
- Gmail OAuth
gcloud CLI をインストールする(または Console を使う)
方法 A: gcloud CLI(自動化向けに推奨)https://cloud.google.com/sdk/docs/install からインストールします。初期化して認証します:方法 B: Cloud Consoleすべての手順は、https://console.cloud.google.com の web UI から実行できます。
GCP プロジェクトを作成する
CLI:https://console.cloud.google.com/billing で課金を有効にします(Compute Engine に必須)。Compute Engine API を有効にします:Console:
- IAM と管理 > プロジェクトを作成 に移動
- 名前を付けて作成
- プロジェクトの課金を有効化
- API とサービス > API を有効化 に移動し、「Compute Engine API」を検索して有効化
VM を作成する
マシンタイプ:
CLI:Console:
| Type | Specs | Cost | Notes |
|---|---|---|---|
| e2-medium | 2 vCPU, 4GB RAM | 約 $25/月 | ローカル Docker ビルドでは最も信頼性が高い |
| e2-small | 2 vCPU, 2GB RAM | 約 $12/月 | Docker ビルド向けの推奨最小構成 |
| e2-micro | 2 vCPU(共有), 1GB RAM | free tier 対象 | Docker ビルドで OOM(exit 137)になることが多い |
- Compute Engine > VM instances > Create instance に移動
- 名前:
openclaw-gateway - Region:
us-central1、Zone:us-central1-a - Machine type:
e2-small - Boot disk: Debian 12、20GB
- 作成
VM に SSH 接続する
CLI:Console:Compute Engine ダッシュボードで、VM の横にある「SSH」ボタンをクリックします。注: SSH キーの伝播には、VM 作成後 1〜2 分かかることがあります。接続が拒否された場合は、少し待って再試行してください。
環境変数を設定する
リポジトリーのルートに 強力な secret を生成します:このファイルはコミットしないでください。この
.env を作成します。.env ファイルは、OPENCLAW_GATEWAY_TOKEN のようなコンテナー / 実行時 env 用です。
保存されるプロバイダー OAuth / API キー auth は、マウントされた
~/.openclaw/agents/<agentId>/agent/auth-profiles.json に保存されます。Docker Compose を設定する
docker-compose.yml を作成または更新します。--allow-unconfigured は bootstrap の利便性のためだけのものです。適切な gateway 設定の代わりにはなりません。引き続き auth(gateway.auth.token または password)を設定し、デプロイに応じて安全な bind 設定を使用してください。共有 Docker VM 実行手順
一般的な Docker ホストフローについては、共有実行ガイドを使ってください:
GCP 固有の起動メモ
GCP では、gateway port を変更した場合は、
pnpm install --frozen-lockfile 中に Killed または exit code 137 でビルドが失敗した場合、その VM はメモリー不足です。最低でも e2-small、初回ビルドをより安定させるには e2-medium を使ってください。LAN に bind する場合(OPENCLAW_GATEWAY_BIND=lan)、続行する前に信頼するブラウザー origin を設定してください:18789 を設定した port に置き換えてください。ノート PC からアクセスする
Gateway port を転送する SSH トンネルを作成します:ブラウザーで開きます:UI が shared-secret auth を求めた場合は、設定済みの token または
password を Control UI 設定に貼り付けてください。この Docker フローでは
デフォルトで token を書き込みます。コンテナー設定を password auth に
切り替えた場合は、代わりにその password を使用してください。Control UI に 共有の永続化 / 更新リファレンスをもう一度確認したいですか?
Docker VM Runtime と Docker VM Runtime updates を参照してください。
http://127.0.0.1:18789/きれいなダッシュボードリンクを再表示するには:unauthorized または disconnected (1008): pairing required が表示される場合は、ブラウザーデバイスを承認してください:トラブルシューティング
SSH 接続が拒否される SSH キーの伝播には VM 作成後 1〜2 分かかることがあります。少し待って再試行してください。 OS Login の問題 OS Login プロファイルを確認します:Killed と exit code 137 で失敗する場合、その VM は OOM kill されています。e2-small(最小)または e2-medium(ローカルビルドを安定して行う推奨構成)にアップグレードしてください:
サービスアカウント(セキュリティのベストプラクティス)
個人利用であれば、通常はデフォルトのユーザーアカウントで問題ありません。 自動化または CI/CD パイプラインでは、最小権限を持つ専用サービスアカウントを作成してください:-
サービスアカウントを作成します:
-
Compute Instance Admin ロール(またはより狭いカスタムロール)を付与します:
次のステップ
- メッセージングチャネルを設定する: Channels
- ローカルデバイスを node として pairing する: Nodes
- Gateway を設定する: Gateway configuration