コンテンツにスキップ

GCPでOpenClawを24時間動かす:Dockerを使った本番環境構築ガイド

自分のアシスタントを24時間ずっと動かしておきたいと思ったことはありませんか?自分のPCで動かすのもいいですが、ノートPCをずっと開いたままにするのは現実的ではありません。

私も最初は手元のマシンで試していましたが、再起動のたびに設定し直すのが面倒になり、GCP(Google Cloud Platform)に移行しました。月額5ドルから12ドル程度で、非常に安定したOpenClaw環境が手に入ります。サーバーが再起動しても自動で復旧するので、運用の手間がほとんどかかりません。

始める前に、以下の準備ができているか確認してください。

  • GCPアカウント(e2-microなら無料枠も使えます)
  • gcloud CLI または Cloud Console の操作権限
  • SSH接続ができる環境
  • Docker と Docker Compose
  • 各種モデルの認証情報(APIキーなど)
  • 作業時間 20分から30分程度

お急ぎの方のために、最短で構築する手順をまとめました。

  1. GCPプロジェクトを作成し、Compute Engine APIを有効にします。
  2. VM(e2-small、Debian 12、ディスク20GB)を作成します。
  3. SSHでログインして Docker をインストールします。
  4. リポジトリをクローンし、.env と docker-compose.yml を設定して起動します。

方法 A: gcloud CLI(推奨)

自動化に便利です。公式ドキュメントからインストールしてください。

Terminal window
gcloud init
gcloud auth login

方法 B: Cloud Console

ブラウザの Cloud Console からもすべての操作が可能です。

CLIで作成する場合:

Terminal window
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"
gcloud config set project my-openclaw-project

次に、お支払い設定を有効にしてください。その後、Compute Engine APIを有効にします。

Terminal window
gcloud services enable compute.googleapis.com

おすすめのスペックは以下の通りです。

マシンタイプスペックコスト目安備考
e2-small2 vCPU, 2GB RAM約$12/月推奨スペック
e2-micro2 vCPU (共有), 1GB RAM無料枠対象負荷が高いとメモリ不足になる可能性があります

CLIでの作成例:

Terminal window
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
Terminal window
gcloud compute ssh openclaw-gateway --zone=us-central1-a

※作成直後は接続を拒否されることがありますが、1〜2分待てばつながります。

VM内で以下のコマンドを実行します。

Terminal window
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

設定を反映させるため、一度ログアウトして再度ログインしてください。

Terminal window
exit
gcloud compute ssh openclaw-gateway --zone=us-central1-a

リポジトリをクローンします。

Terminal window
git clone https://github.com/openclaw/openclaw.git
cd openclaw

次に、データを永続化するためのディレクトリを作成します。

Terminal window
mkdir -p ~/.openclaw
mkdir -p ~/.openclaw/workspace

.env ファイルを作成し、以下の内容を記述します。change-me-now の部分は独自の強力な文字列に変更してください。

Terminal window
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

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:
- "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789"
command:
[
"node",
"dist/index.js",
"gateway",
"--bind",
"${OPENCLAW_GATEWAY_BIND}",
"--port",
"${OPENCLAW_GATEWAY_PORT}",
]

OpenClawのスキルが使用する外部ツール(Gmail用の gog など)は、イメージ構築時にインストールしておく必要があります。Dockerfile を以下のように編集してください。

FROM node:22-bookworm
RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*
# Gmail CLI
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
# WhatsApp CLI
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"]

準備ができたら、イメージをビルドしてコンテナを起動します。

Terminal window
docker compose build
docker compose up -d openclaw-gateway

ログを確認して、[gateway] listening on ws://0.0.0.0:18789 と表示されていれば成功です。

Terminal window
docker compose logs -f openclaw-gateway

セキュリティのため、GatewayはVMのローカルホスト(127.0.0.1)でのみ待機しています。手元のPCからアクセスするには、SSHトンネルを作成します。

Terminal window
gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789

この状態で、ブラウザから http://127.0.0.1:18789/ を開いてください。設定したトークンを入力すれば、管理画面が表示されます。

よくある問題と解決策です。

  • SSH接続が拒否される: VM作成直後はOSの準備ができていません。1分ほど待ってから再試行してください。
  • メモリ不足(OOM): e2-microを使用している場合、ビルド時や実行時にメモリが足りなくなることがあります。その場合は、インスタンスを停止してからマシンタイプを e2-small 以上に変更してください。
  • 設定が消えてしまう: コンテナ内のファイルは削除されます。必ず volumes 設定でホスト側のディレクトリをマウントしているか確認してください。
  • バイナリが見つからない: 実行時に apt-get でインストールしたものは再起動で消えます。必ず Dockerfile に記述してビルドしてください。

設定でお困りの際は、AI Setup Assistant がいつでもサポートします。

次に進むためのステップです。

  • メッセージチャネルの設定:Channels
  • ローカルデバイスをノードとしてペアリング:Nodes
  • Gatewayの高度な設定:Gateway configuration
  • セキュリティのベストプラクティス:Security
OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。