OpenClawSkills
GitHub
プラットフォーム • 5分で読める

GCP

GCP Compute Engine VM (Docker) で 24/7 OpenClaw Gateway を実行(永続化状態)

Tutorial.step

Goal

GCP Compute Engine VM で Docker を使用して永続的な OpenClaw Gateway を実行し、永続化された状態、組み込みバイナリ、安全な再起動動作を提供します。

"OpenClaw 24/7、約 $5-12/月" を希望する場合、これは Google Cloud 上の信頼できる設定です。

価格はマシンタイプとリージョンによって異なります。ワークロードに合う最小の VM を選択し、OOM に遭遇した場合はスケールアップしてください。

Tutorial.step

何をしているのか(簡単な用語)?

- GCP プロジェクトを作成し、課金を有効にする

- Compute Engine VM を作成する

- Docker をインストールする(分離されたアプリランタイム)

- Docker で OpenClaw Gateway を起動する

- ホスト上で ''~/.openclaw'' + ''~/.openclaw/workspace'' を永続化する(再起動/再構築後に存続)

- SSH トンネル経由でラップトップからコントロール UI にアクセスする

Gateway は以下の方法でアクセスできます:

- ラップトップからの SSH ポートフォワーディング

- ファイアウォールとトークンを自分で管理する場合の直接ポート公開

このガイドでは GCP Compute Engine で Debian を使用します。

Ubuntu も動作します。パッケージを適切にマッピングしてください。

汎用の Docker フローについては、''Docker''を参照してください。

Tutorial.step

必要なもの

- GCP アカウント(e2-micro は無料ティアの対象)

- gcloud CLI がインストールされている(または Cloud Console を使用)

- ラップトップからの SSH アクセス

- SSH + コピー/貼り付けの基本的な操作

- ~20-30 minutes

- Docker と Docker Compose

- モデル認証情報

- オプションのプロバイダー認証情報

- WhatsApp QR

- Telegram ボットトークン

- Gmail OAuth

Tutorial.step

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

CLI:

Bash
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 を有効にします:

Bash
gcloud services enable compute.googleapis.com

Console:

1. IAM と管理 > プロジェクトを作成に移動

2. 名前を付けて作成

3. プロジェクトの課金を有効にする

4. API とサービス > API を有効にする > "Compute Engine API" を検索 > 有効にするに移動

Tutorial.step

4) VM に SSH 接続

CLI:

Bash
gcloud compute ssh openclaw-gateway --zone=us-central1-a

Console:

Compute Engine ダッシュボードで VM の横にある "SSH" ボタンをクリックします。

注:VM 作成後、SSH キーの伝播に 1-2 分かかる場合があります。接続が拒否された場合は、待ってから再試行してください。

Tutorial.step

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

Bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw

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

Tutorial.step

8) 環境変数を設定

リポジトリのルートに ''.env'' を作成します。

Bash
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

強力なシークレットを生成します:

Bash
openssl rand -hex 32

このファイルをコミットしないでください。

Tutorial.step

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

実行中のコンテナ内でバイナリをインストールするのは罠です。

実行時にインストールされたものはすべて再起動時に失われます。

スキルが必要とするすべての外部バイナリは、イメージビルド時にインストールする必要があります。

以下の例では、3 つの一般的なバイナリのみを示しています:

- ''gog'' Gmail アクセス用

- ''goplaces'' for Google Places

- ''wacli'' for WhatsApp

これらは例であり、完全なリストではありません。

同じパターンを使用して、必要な数だけバイナリをインストールできます。

後で追加のバイナリに依存する新しいスキルを追加する場合、以下を行う必要があります:

1. Dockerfile を更新する

2. イメージを再構築する

3. コンテナを再起動する

Dockerfile の例

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"]
Tutorial.step

12) Gateway を検証

Bash
docker compose logs -f openclaw-gateway

Success:

ターミナル
[gateway] listening on ws://0.0.0.0:18789
Tutorial.step

何がどこで永続化されるか(真実の情報源)

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 コンテナ | 一時的 | 再起動可能 | 安全に破棄可能 |

Tutorial.step

トラブルシューティング

SSH 接続が拒否された

VM 作成後、SSH キーの伝播に 1-2 分かかる場合があります。待ってから再試行してください。

OS ログインの問題

OS ログインプロファイルを確認します:

Bash
gcloud compute os-login describe-profile

アカウントに必要な IAM 権限(Compute OS Login または Compute OS Admin Login)があることを確認してください。

メモリ不足 (OOM)

e2-micro を使用して OOM に遭遇する場合、e2-small または e2-medium にアップグレードします:

Bash
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
Tutorial.step

次のステップ

- メッセージングチャンネルを設定:''チャンネル''

- ローカルデバイスをノードとしてペアリング:''ノード''

- Gateway を設定:''Gateway 設定''