OpenClaw 再起動・復旧手順
まず初めに:状況を把握する
何が起きているかを確認してから対応しましょう。以下の順番で確認します:
- コンテナの状態を見る
- ログで原因を探る
- 問題のコンテナを特定する
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ファイル(設定ファイル)を編集した場合は、コンテナの再作成が必要です。
- .envファイルを編集する
- 以下のコマンドで再起動
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が自動起動に設定されていない場合、手動で起動が必要です。
再起動後の確認手順
再起動が完了したら、以下を確認してください:
- 全コンテナがUpか確認
docker compose ps
すべてのコンテナのSTATUSが「Up」になっていることを確認。
- Discord Botがオンラインか確認
DiscordアプリでBotのステータスを確認。
- エラーログがないか確認
docker compose logs --tail=20
ERRORやFATALが含まれていないことを確認。
復旧確認の3点セット:
① 全コンテナUp ② Botオンライン ③ エラーログなし
← ガイド一覧に戻る