GCP Compute Engine上のOpenClaw(Docker、本番VPSガイド)
目的
耐久性のある状態、組み込み済みバイナリ、安全な再起動動作を備えて、GCP Compute Engine VM上でDockerを使って永続的なOpenClaw Gatewayを実行します。 「月額およそ$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ポートフォワーディング
- ファイアウォール設定とトークン管理を自分で行う場合は、ポートを直接公開
クイックパス(経験者向け)
- GCPプロジェクトを作成し、Compute Engine APIを有効化する
- Compute Engine VMを作成する(e2-small、Debian 12、20GB)
- VMにSSH接続する
- Dockerをインストールする
- OpenClawリポジトリをクローンする
- 永続化用のホストディレクトリを作成する
.envとdocker-compose.ymlを設定する- 必要なバイナリをイメージに組み込み、ビルドして起動する
必要なもの
- GCPアカウント(e2-microは無料枠の対象)
- インストール済みのgcloud CLI(またはCloud Consoleを使用)
- ノートPCからのSSHアクセス
- SSHとコピー&ペーストの基本操作
- 約20〜30分
- DockerとDocker Compose
- モデル認証情報
- 任意のプロバイダー認証情報
- 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 | 無料枠対象 | DockerビルドでOOM(exit 137)になりやすい |
- Compute Engine > VMインスタンス > インスタンスを作成 に移動する
- 名前:
openclaw-gateway - リージョン:
us-central1、ゾーン:us-central1-a - マシンタイプ:
e2-small - ブートディスク: Debian 12、20GB
- 作成する
VMにSSH接続する
CLI:Console:Compute Engineダッシュボードで、VMの横にある「SSH」ボタンをクリックします。注: SSH鍵の反映にはVM作成後1〜2分かかることがあります。接続が拒否された場合は、少し待ってから再試行してください。
環境変数を設定する
リポジトリのルートにこのファイルはコミットしないでください。この
.envを作成します。.envで明示的に管理したい場合を除き、OPENCLAW_GATEWAY_TOKENは空のままにしてください。OpenClawは初回起動時にランダムなgateway tokenを設定へ書き込みます。鍵リング用パスワードを生成し、それをGOG_KEYRING_PASSWORDに貼り付けます。.envファイルは、OPENCLAW_GATEWAY_TOKENのようなコンテナ/ランタイム環境変数用です。
保存されるプロバイダーOAuth/APIキー認証は、マウントされた
~/.openclaw/agents/<agentId>/agent/auth-profiles.jsonに保存されます。Docker Composeの設定
docker-compose.ymlを作成または更新します。--allow-unconfiguredはブートストラップを簡単にするためだけのものです。適切なgateway設定の代替ではありません。引き続き認証(gateway.auth.tokenまたはpassword)を設定し、デプロイに適した安全なbind設定を使用してください。共有Docker VMランタイム手順
共通のDockerホストフローについては、共有ランタイムガイドを使用してください。
GCP固有の起動メモ
pnpm install --frozen-lockfile中にビルドがKilledまたはexit code 137で失敗する場合、VMのメモリが不足しています。最低でもe2-smallを使用し、初回ビルドの信頼性を高めるにはe2-mediumを使用してください。LANにbindする場合(OPENCLAW_GATEWAY_BIND=lan)、続行する前に信頼するブラウザーoriginを設定してください。18789を設定したポートに置き換えてください。ノートPCからアクセスする
Gatewayポートを転送するSSHトンネルを作成します。ブラウザーで開きます。UIが共有シークレット認証を求めた場合は、設定済みのトークンまたは
パスワードをControl UI設定に貼り付けてください。このDockerフローは
デフォルトでトークンを書き込みます。コンテナ設定をpassword認証に
切り替えた場合は、そのpasswordを使用してください。Control UIに共有の永続化や更新の参照先をもう一度確認したいですか。
Docker VM Runtime と Docker VM Runtime updates を参照してください。
http://127.0.0.1:18789/クリーンなダッシュボードリンクを再表示します。unauthorizedまたはdisconnected (1008): pairing requiredと表示される場合は、ブラウザーデバイスを承認します。トラブルシューティング
SSH connection refused 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としてペアリングする: Nodes
- Gatewayを設定する: Gateway configuration