GCP
GCP Compute Engine VM (Docker) で 24/7 OpenClaw Gateway を実行(永続化状態)
Goal
GCP Compute Engine VM で Docker を使用して永続的な OpenClaw Gateway を実行し、永続化された状態、組み込みバイナリ、安全な再起動動作を提供します。
"OpenClaw 24/7、約 $5-12/月" を希望する場合、これは Google Cloud 上の信頼できる設定です。
価格はマシンタイプとリージョンによって異なります。ワークロードに合う最小の VM を選択し、OOM に遭遇した場合はスケールアップしてください。
何をしているのか(簡単な用語)?
- GCP プロジェクトを作成し、課金を有効にする
- Compute Engine VM を作成する
- Docker をインストールする(分離されたアプリランタイム)
- Docker で OpenClaw Gateway を起動する
- ホスト上で ''~/.openclaw'' + ''~/.openclaw/workspace'' を永続化する(再起動/再構築後に存続)
- SSH トンネル経由でラップトップからコントロール UI にアクセスする
Gateway は以下の方法でアクセスできます:
- ラップトップからの SSH ポートフォワーディング
- ファイアウォールとトークンを自分で管理する場合の直接ポート公開
このガイドでは GCP Compute Engine で Debian を使用します。
Ubuntu も動作します。パッケージを適切にマッピングしてください。
汎用の Docker フローについては、''Docker''を参照してください。
必要なもの
- GCP アカウント(e2-micro は無料ティアの対象)
- gcloud CLI がインストールされている(または Cloud Console を使用)
- ラップトップからの SSH アクセス
- SSH + コピー/貼り付けの基本的な操作
- ~20-30 minutes
- Docker と Docker Compose
- モデル認証情報
- オプションのプロバイダー認証情報
- WhatsApp QR
- Telegram ボットトークン
- Gmail OAuth
2) 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:
1. IAM と管理 > プロジェクトを作成に移動
2. 名前を付けて作成
3. プロジェクトの課金を有効にする
4. API とサービス > API を有効にする > "Compute Engine API" を検索 > 有効にするに移動
4) VM に SSH 接続
CLI:
gcloud compute ssh openclaw-gateway --zone=us-central1-a
Console:
Compute Engine ダッシュボードで VM の横にある "SSH" ボタンをクリックします。
注:VM 作成後、SSH キーの伝播に 1-2 分かかる場合があります。接続が拒否された場合は、待ってから再試行してください。
6) OpenClaw リポジトリをクローン
git clone https://github.com/openclaw/openclaw.git cd openclaw
このガイドでは、バイナリの永続化を保証するためにカスタムイメージをビルドすることを想定しています。
8) 環境変数を設定
リポジトリのルートに ''.env'' を作成します。
OPENCLAW_IMAGE=openclaw:latest OPENCLAW_GATEWAY_TOKEN=change-me-now OPENCLAW_GATEWAY_BIND=lan OPENCLAW_GATEWAY_PORT=18789 OPENCLAW_CONFIG_DIR=/home/$USER/.openclaw OPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace GOG_KEYRING_PASSWORD=change-me-now XDG_CONFIG_HOME=/home/node/.openclaw
強力なシークレットを生成します:
openssl rand -hex 32
このファイルをコミットしないでください。
10) 必要なバイナリをイメージに焼き込む(重要)
実行中のコンテナ内でバイナリをインストールするのは罠です。
実行時にインストールされたものはすべて再起動時に失われます。
スキルが必要とするすべての外部バイナリは、イメージビルド時にインストールする必要があります。
以下の例では、3 つの一般的なバイナリのみを示しています:
- ''gog'' Gmail アクセス用
- ''goplaces'' for Google Places
- ''wacli'' for WhatsApp
これらは例であり、完全なリストではありません。
同じパターンを使用して、必要な数だけバイナリをインストールできます。
後で追加のバイナリに依存する新しいスキルを追加する場合、以下を行う必要があります:
1. Dockerfile を更新する
2. イメージを再構築する
3. コンテナを再起動する
Dockerfile の例
FROM node:22-bookworm RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/* RUN curl -L https://github.com/steipete/gog/releases/latest/download/gog_Linux_x86_64.tar.gz \ | tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/gog RUN curl -L https://github.com/steipete/goplaces/releases/latest/download/goplaces_Linux_x86_64.tar.gz \ | tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/goplaces RUN curl -L https://github.com/steipete/wacli/releases/latest/download/wacli_Linux_x86_64.tar.gz \ | tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/wacli WORKDIR /app COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./ COPY ui/package.json ./ui/package.json COPY scripts ./scripts RUN corepack enable RUN pnpm install --frozen-lockfile COPY . . RUN pnpm build RUN pnpm ui:install RUN pnpm ui:build ENV NODE_ENV=production CMD ["node","dist/index.js"]
12) Gateway を検証
docker compose logs -f openclaw-gateway
Success:
[gateway] listening on ws://0.0.0.0:18789
何がどこで永続化されるか(真実の情報源)
OpenClaw は Docker で実行されますが、Docker は真実の情報源ではありません。
すべての長期間の状態は、再起動、再構築、再起動後に存続する必要があります。
| コンポーネント | 位置 | 永続化メカニズム | 備考 |
| Gateway 設定 | ''/home/node/.openclaw/'' | ホストボリュームマウント | ''openclaw.json''、トークンを含む |
| モデル認証プロファイル | ''/home/node/.openclaw/'' | ホストボリュームマウント | OAuth トークン、API キー |
| スキル設定 | ''/home/node/.openclaw/skills/'' | ホストボリュームマウント | スキルレベルの状態 |
| エージェントワークスペース | ''/home/node/.openclaw/workspace/'' | ホストボリュームマウント | コードとエージェントアーティファクト |
| WhatsApp セッション | ''/home/node/.openclaw/'' | ホストボリュームマウント | QR ログインを保存 |
| Gmail キーリング | ''/home/node/.openclaw/'' | ホストボリューム + パスワード | ''GOG_KEYRING_PASSWORD'' が必要 |
| 外部バイナリ | ''/usr/local/bin/'' | Docker イメージ | ビルド時に焼き込む必要 |
| Node ランタイム | コンテナファイルシステム | Docker イメージ | イメージビルドごとに再構築 |
| OS パッケージ | コンテナファイルシステム | Docker イメージ | 実行時にインストールしない |
| Docker コンテナ | 一時的 | 再起動可能 | 安全に破棄可能 |
トラブルシューティング
SSH 接続が拒否された
VM 作成後、SSH キーの伝播に 1-2 分かかる場合があります。待ってから再試行してください。
OS ログインの問題
OS ログインプロファイルを確認します:
gcloud compute os-login describe-profile
アカウントに必要な IAM 権限(Compute OS Login または Compute OS Admin Login)があることを確認してください。
メモリ不足 (OOM)
e2-micro を使用して OOM に遭遇する場合、e2-small または e2-medium にアップグレードします:
gcloud compute instances stop openclaw-gateway --zone=us-central1-a gcloud compute instances set-machine-type openclaw-gateway \ --zone=us-central1-a \ --machine-type=e2-small gcloud compute instances start openclaw-gateway --zone=us-central1-a