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分程度
クイックスタート
Section titled “クイックスタート”お急ぎの方のために、最短で構築する手順をまとめました。
- GCPプロジェクトを作成し、Compute Engine APIを有効にします。
- VM(e2-small、Debian 12、ディスク20GB)を作成します。
- SSHでログインして Docker をインストールします。
- リポジトリをクローンし、
.envとdocker-compose.ymlを設定して起動します。
1) gcloud CLI の準備
Section titled “1) gcloud CLI の準備”方法 A: gcloud CLI(推奨)
自動化に便利です。公式ドキュメントからインストールしてください。
gcloud initgcloud auth login方法 B: Cloud Console
ブラウザの Cloud Console からもすべての操作が可能です。
2) GCPプロジェクトの作成
Section titled “2) GCPプロジェクトの作成”CLIで作成する場合:
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"gcloud config set project my-openclaw-project次に、お支払い設定を有効にしてください。その後、Compute Engine APIを有効にします。
gcloud services enable compute.googleapis.com3) VMの作成
Section titled “3) VMの作成”おすすめのスペックは以下の通りです。
| マシンタイプ | スペック | コスト目安 | 備考 |
|---|---|---|---|
| e2-small | 2 vCPU, 2GB RAM | 約$12/月 | 推奨スペック |
| e2-micro | 2 vCPU (共有), 1GB RAM | 無料枠対象 | 負荷が高いとメモリ不足になる可能性があります |
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-cloud4) SSHでVMにログイン
Section titled “4) SSHでVMにログイン”gcloud compute ssh openclaw-gateway --zone=us-central1-a※作成直後は接続を拒否されることがありますが、1〜2分待てばつながります。
5) Docker のインストール
Section titled “5) Docker のインストール”VM内で以下のコマンドを実行します。
sudo apt-get updatesudo apt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | sudo shsudo usermod -aG docker $USER設定を反映させるため、一度ログアウトして再度ログインしてください。
exitgcloud compute ssh openclaw-gateway --zone=us-central1-a6) OpenClaw のセットアップ
Section titled “6) OpenClaw のセットアップ”リポジトリをクローンします。
git clone https://github.com/openclaw/openclaw.gitcd openclaw次に、データを永続化するためのディレクトリを作成します。
mkdir -p ~/.openclawmkdir -p ~/.openclaw/workspace7) 環境変数の設定
Section titled “7) 環境変数の設定”.env ファイルを作成し、以下の内容を記述します。change-me-now の部分は独自の強力な文字列に変更してください。
OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=change-me-nowOPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789
OPENCLAW_CONFIG_DIR=/home/$USER/.openclawOPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace
GOG_KEYRING_PASSWORD=change-me-nowXDG_CONFIG_HOME=/home/node/.openclaw8) Docker Compose の設定
Section titled “8) 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: - "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789" command: [ "node", "dist/index.js", "gateway", "--bind", "${OPENCLAW_GATEWAY_BIND}", "--port", "${OPENCLAW_GATEWAY_PORT}", ]9) 必要なバイナリの組み込み
Section titled “9) 必要なバイナリの組み込み”OpenClawのスキルが使用する外部ツール(Gmail用の gog など)は、イメージ構築時にインストールしておく必要があります。Dockerfile を以下のように編集してください。
FROM node:22-bookworm
RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*
# Gmail CLIRUN 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 CLIRUN 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 /appCOPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./COPY ui/package.json ./ui/package.jsonCOPY scripts ./scripts
RUN corepack enableRUN pnpm install --frozen-lockfile
COPY . .RUN pnpm buildRUN pnpm ui:installRUN pnpm ui:build
ENV NODE_ENV=productionCMD ["node","dist/index.js"]10) ビルドと起動
Section titled “10) ビルドと起動”準備ができたら、イメージをビルドしてコンテナを起動します。
docker compose builddocker compose up -d openclaw-gatewayログを確認して、[gateway] listening on ws://0.0.0.0:18789 と表示されていれば成功です。
docker compose logs -f openclaw-gateway11) ローカルPCからのアクセス
Section titled “11) ローカルPCからのアクセス”セキュリティのため、GatewayはVMのローカルホスト(127.0.0.1)でのみ待機しています。手元のPCからアクセスするには、SSHトンネルを作成します。
gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789この状態で、ブラウザから http://127.0.0.1:18789/ を開いてください。設定したトークンを入力すれば、管理画面が表示されます。
トラブルシューティング
Section titled “トラブルシューティング”よくある問題と解決策です。
- SSH接続が拒否される: VM作成直後はOSの準備ができていません。1分ほど待ってから再試行してください。
- メモリ不足(OOM): e2-microを使用している場合、ビルド時や実行時にメモリが足りなくなることがあります。その場合は、インスタンスを停止してからマシンタイプを
e2-small以上に変更してください。 - 設定が消えてしまう: コンテナ内のファイルは削除されます。必ず
volumes設定でホスト側のディレクトリをマウントしているか確認してください。 - バイナリが見つからない: 実行時に
apt-getでインストールしたものは再起動で消えます。必ずDockerfileに記述してビルドしてください。
設定でお困りの際は、AI Setup Assistant がいつでもサポートします。
次のステップ
Section titled “次のステップ”次に進むためのステップです。
- メッセージチャネルの設定:Channels
- ローカルデバイスをノードとしてペアリング:Nodes
- Gatewayの高度な設定:Gateway configuration
- セキュリティのベストプラクティス:Security
OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。