OpenClaw 再起動・復旧手順

まず初めに:状況を把握する

何が起きているかを確認してから対応しましょう。以下の順番で確認します:

  1. コンテナの状態を見る
  2. ログで原因を探る
  3. 問題のコンテナを特定する

Step 1: コンテナ状態確認

docker compose ps

どのコンテナが「Up」で、どれが「Exited」や「Restarting」か確認します。

Step 2: ログで原因を探る

docker compose logs --tail=50

赤い「ERROR」や「FATAL」が含まれていないか確認します。

Step 3: 特定コンテナのログを見る

docker compose logs gateway --tail=30

怪しいコンテナ名に置き換えて、詳細なログを確認します。

フル再起動(すべてやり直す)

すべてのコンテナを停止して、再度起動します。原因不明の時はまずこれを試します。

cd /path/to/openclaw && docker compose down && docker compose up -d
注意:実際のパス(/path/to/openclaw)は環境に合わせて変更してください。
down で全停止 → up -d でバックグラウンド起動の順番です。

個別コンテナの再起動

特定のコンテナだけ問題がある場合、それだけ再起動できます。

例:gatewayコンテナを再起動

docker compose restart gateway

他のサービスは止まらず、指定したコンテナだけ再起動されます。

個別再起動は他のサービスに影響しないため、まずはこれを試すのが安全です。

環境変数の変更後の手順

.envファイル(設定ファイル)を編集した場合は、コンテナの再作成が必要です。

  1. .envファイルを編集する
  2. 以下のコマンドで再起動
docker compose down && docker compose up -d
restartでは反映されません。 down → up の手順が必要です。

VPSへの接続方法

SSHで接続(ホスト名を使う場合)

ssh openclaw-vps

TailscaleのローカルIPを使う場合

ssh user@100.x.x.x

Tailscaleを使っている場合、プライベートIPで直接接続できます。

よくある復旧シナリオ

Botがオフラインになった

症状:Discord上でBotがオフライン表示

対応:

docker compose restart provider-discord

再起動後、DiscordでBotがオンラインに戻るか確認します。

戻らない場合は、フル再起動を試してください。Discord Botのトークン(.env内)が正しいかも確認。

ニュースが収集されない

症状:ニュースチャンネルに新しい投稿がない

対応:

docker compose restart news-collector

それでも動かない場合、APIキーが正しく設定されているか .env を確認します。

メモリ使用量が高い

症状:動作が遅い、OOMエラーが出る

対応:

docker stats

どのコンテナがメモリを大量消費しているか確認し、そのコンテナを再起動します。

docker compose restart (重いコンテナ名)

VPS再起動後の復旧

症状:VPS自体が再起動された

対応:

docker compose up -d

Dockerが自動起動に設定されていない場合、手動で起動が必要です。

再起動後の確認手順

再起動が完了したら、以下を確認してください:

  1. 全コンテナがUpか確認
docker compose ps

すべてのコンテナのSTATUSが「Up」になっていることを確認。

  1. Discord Botがオンラインか確認

DiscordアプリでBotのステータスを確認。

  1. エラーログがないか確認
docker compose logs --tail=20

ERRORやFATALが含まれていないことを確認。

復旧確認の3点セット:
① 全コンテナUp ② Botオンライン ③ エラーログなし
← ガイド一覧に戻る