Hosting
GCP
Docker を使用して、GCP Compute Engine VM 上で永続的な OpenClaw Gateway を実行します。耐久性のある状態、組み込み済みのバイナリ、安全な再起動動作を備えます。
「月額約 $5-12 で OpenClaw を 24/7 稼働」させたい場合、これは Google Cloud 上で信頼性の高いセットアップです。 料金はマシンタイプとリージョンによって異なります。ワークロードに合う最小の VM を選び、OOM が発生したらスケールアップしてください。
何をするのか(簡単に)?
- GCP プロジェクトを作成して課金を有効にする
- Compute Engine VM を作成する
- Docker(分離されたアプリ実行環境)をインストールする
- Docker で OpenClaw Gateway を起動する
- ホスト上で
~/.openclaw+~/.openclaw/workspaceを永続化する(再起動や再ビルド後も残る) - ラップトップから SSH トンネル経由で Control UI にアクセスする
マウントされた ~/.openclaw 状態には、openclaw.json、エージェントごとの
agents/<agentId>/agent/auth-profiles.json、および .env が含まれます。
Gateway には次の方法でアクセスできます。
- ラップトップからの SSH ポートフォワーディング
- ファイアウォール設定とトークンを自分で管理する場合の直接ポート公開
このガイドでは GCP Compute Engine 上の Debian を使用します。 Ubuntu でも動作します。パッケージは適宜読み替えてください。 汎用的な Docker フローについては、Docker を参照してください。
クイックパス(経験のある運用者向け)
- 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 を使用)
- ラップトップからの 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 からインストールします。
初期化して認証します。
gcloud init
gcloud auth login
オプション B: Cloud Console
すべての手順は https://console.cloud.google.com の Web UI から実行できます。
GCP プロジェクトを作成する
CLI:
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"
gcloud config set project my-openclaw-project
https://console.cloud.google.com/billing で課金を有効にします(Compute Engine に必要)。
Compute Engine API を有効にします。
gcloud services enable compute.googleapis.com
Console:
- IAM & Admin > Create Project に移動する
- 名前を付けて作成する
- プロジェクトの課金を有効にする
- APIs & Services > Enable APIs に移動し、「Compute Engine API」を検索して有効にする
VM を作成する
マシンタイプ:
| 種類 | 仕様 | コスト | 備考 |
|---|---|---|---|
| e2-medium | 2 vCPU, 4GB RAM | 月額約 $25 | ローカル Docker ビルドで最も信頼性が高い |
| e2-small | 2 vCPU, 2GB RAM | 月額約 $12 | Docker ビルドに推奨される最小構成 |
| e2-micro | 2 vCPU (shared), 1GB RAM | 無料枠対象 | Docker ビルドで OOM(exit 137)になりやすい |
CLI:
gcloud compute instances create openclaw-gateway \
--zone=us-central1-a \
--machine-type=e2-small \
--boot-disk-size=20GB \
--image-family=debian-12 \
--image-project=debian-cloud
Console:
- Compute Engine > VM instances > Create instance に移動する
- 名前:
openclaw-gateway - リージョン:
us-central1、ゾーン:us-central1-a - マシンタイプ:
e2-small - ブートディスク: Debian 12、20GB
- 作成する
VM に SSH する
CLI:
gcloud compute ssh openclaw-gateway --zone=us-central1-a
Console:
Compute Engine ダッシュボードで VM の横にある「SSH」ボタンをクリックします。
注: SSH 鍵の反映には VM 作成後 1〜2 分かかることがあります。接続が拒否された場合は、待ってから再試行してください。
Docker をインストールする(VM 上)
sudo apt-get update
sudo apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
グループ変更を反映するためにログアウトして再ログインします。
exit
その後、再度 SSH します。
gcloud compute ssh openclaw-gateway --zone=us-central1-a
確認します。
docker --version
docker compose version
OpenClaw リポジトリをクローンする
git clone https://github.com/openclaw/openclaw.git
cd openclaw
このガイドでは、バイナリの永続性を保証するためにカスタムイメージをビルドすることを前提としています。
永続的なホストディレクトリを作成する
Docker コンテナは一時的なものです。 長期間保持する状態はすべてホスト上に置く必要があります。
mkdir -p ~/.openclaw
mkdir -p ~/.openclaw/workspace
環境変数を設定する
リポジトリルートに .env を作成します。
OPENCLAW_IMAGE=openclaw:latest
OPENCLAW_GATEWAY_TOKEN=
OPENCLAW_GATEWAY_BIND=lan
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_CONFIG_DIR=/home/$USER/.openclaw
OPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace
GOG_KEYRING_PASSWORD=
XDG_CONFIG_HOME=/home/node/.openclaw
安定した Gateway
トークンを .env 経由で管理したい場合は OPENCLAW_GATEWAY_TOKEN を設定します。そうでない場合は、再起動をまたいでクライアントを利用する前に gateway.auth.token を設定してください。どちらのソースも存在しない場合、OpenClaw はその起動時のみ有効なランタイムトークンを使用します。キーリングパスワードを生成して
GOG_KEYRING_PASSWORD に貼り付けます。
openssl rand -hex 32
このファイルをコミットしないでください。
この .env ファイルは、OPENCLAW_GATEWAY_TOKEN などのコンテナ/ランタイム環境変数用です。
保存されたプロバイダー OAuth/API キー認証は、マウントされた
~/.openclaw/agents/<agentId>/agent/auth-profiles.json に格納されます。
Docker Compose 設定
docker-compose.yml を作成または更新します。
services:
openclaw-gateway:
image: ${OPENCLAW_IMAGE}
build: .
restart: unless-stopped
env_file:
- .env
environment:
- HOME=/home/node
- NODE_ENV=production
- TERM=xterm-256color
- OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND}
- OPENCLAW_GATEWAY_PORT=${OPENCLAW_GATEWAY_PORT}
- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
- GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD}
- XDG_CONFIG_HOME=${XDG_CONFIG_HOME}
- PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
volumes:
- ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
- ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace
ports:
# Recommended: keep the Gateway loopback-only on the VM; access via SSH tunnel.
# To expose it publicly, remove the `127.0.0.1:` prefix and firewall accordingly.
- "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789"
command:
[
"node",
"dist/index.js",
"gateway",
"--bind",
"${OPENCLAW_GATEWAY_BIND}",
"--port",
"${OPENCLAW_GATEWAY_PORT}",
"--allow-unconfigured",
]
--allow-unconfigured はブートストラップ時の利便性のためだけのもので、適切な Gateway 設定の代替ではありません。認証(gateway.auth.token またはパスワード)は必ず設定し、デプロイに対して安全なバインド設定を使用してください。
共有 Docker VM ランタイム手順
一般的な Docker ホストフローには、共有ランタイムガイドを使用してください。
GCP 固有の起動メモ
GCP で、pnpm install --frozen-lockfile 中にビルドが Killed または exit code 137 で失敗する場合、VM のメモリが不足しています。最小でも e2-small を使用するか、初回ビルドの信頼性を高めるには e2-medium を使用してください。
LAN にバインドする場合(OPENCLAW_GATEWAY_BIND=lan)、続行する前に信頼済みブラウザーオリジンを設定します。
docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-json
Gateway ポートを変更した場合は、18789 を設定したポートに置き換えてください。
ラップトップからアクセスする
Gateway ポートを転送する SSH トンネルを作成します。
gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789
ブラウザーで開きます。
http://127.0.0.1:18789/
クリーンなダッシュボードリンクを再表示します。
docker compose run --rm openclaw-cli dashboard --no-open
UI が共有シークレット認証を求める場合は、設定済みのトークンまたは パスワードを Control UI 設定に貼り付けます。この Docker フローはデフォルトでトークンを書き込みます。コンテナ設定をパスワード認証に切り替えた場合は、代わりにその パスワードを使用してください。
Control UI に unauthorized または disconnected (1008): pairing required が表示される場合は、ブラウザーデバイスを承認します。
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve <requestId>
共有永続化と更新のリファレンスをもう一度確認する必要がありますか? Docker VM Runtime と Docker VM Runtime の更新 を参照してください。
トラブルシューティング
SSH 接続が拒否される
SSH 鍵の反映には VM 作成後 1〜2 分かかることがあります。待ってから再試行してください。
OS Login の問題
OS Login プロファイルを確認します。
gcloud compute os-login describe-profile
アカウントに必要な IAM 権限(Compute OS Login または Compute OS Admin Login)があることを確認してください。
メモリ不足(OOM)
Docker ビルドが Killed と exit code 137 で失敗する場合、VM は OOM-killed されています。e2-small(最小)または e2-medium(信頼性の高いローカルビルドに推奨)にアップグレードしてください。
# Stop the VM first
gcloud compute instances stop openclaw-gateway --zone=us-central1-a
# Change machine type
gcloud compute instances set-machine-type openclaw-gateway \
--zone=us-central1-a \
--machine-type=e2-small
# Start the VM
gcloud compute instances start openclaw-gateway --zone=us-central1-a
サービスアカウント(セキュリティのベストプラクティス)
個人利用では、デフォルトのユーザーアカウントで問題ありません。
自動化または CI/CD パイプラインでは、最小権限の専用サービスアカウントを作成します。
-
サービスアカウントを作成します。
gcloud iam service-accounts create openclaw-deploy \ --display-name="OpenClaw Deployment" -
Compute Instance Admin ロール(またはより狭いカスタムロール)を付与します。
gcloud projects add-iam-policy-binding my-openclaw-project \ --member="serviceAccount:[email protected]" \ --role="roles/compute.instanceAdmin.v1"
自動化には Owner ロールの使用を避けてください。最小権限の原則を使用してください。
IAM ロールの詳細については、https://cloud.google.com/iam/docs/understanding-roles を参照してください。
次のステップ
- メッセージングチャネルを設定する: チャネル
- ローカルデバイスをノードとしてペアリングする: ノード
- Gatewayを設定する: Gateway 設定