移行シナリオ
利用規模の拡大やインフラストラクチャの調整に伴い、OpenClawをあるサーバーから別のサーバーに移行する必要が生じることがあります。よくある移行シナリオには、低スペックサーバーから高スペックサーバーへのアップグレード、あるクラウドプロバイダーから別のプロバイダーへの切り替え、ローカル開発機から本番サーバーへの移行、VPSから専用ホストへの移行などがあります。
どのシナリオでも、移行の核心的な目標は同じです。設定の完全な転送、接続の中断なし、データの損失なし。本記事では体系的な移行フローを提供します。
移行前の準備
データ構造の理解
OpenClawのすべての重要なデータは ~/.openclaw/ ディレクトリに集約されています。このディレクトリには以下が含まれます。
openclaw.json:メイン設定ファイル。AIモデル設定やチャットプラットフォームの認証情報などdata/:ランタイムデータとメッセージ記録logs/:ログファイル(移行は任意)
現在の環境の確認
旧サーバーで重要な環境情報を記録します。
openclaw --version
node --version
cat ~/.openclaw/openclaw.json | head -5
OpenClawのバージョンとNode.jsのバージョンを控え、新しいサーバーに同じかそれ以上のバージョンをインストールしてください。
新しいサーバーの環境準備
移行前に、新しいサーバーで基礎環境を構築しておきます。
- Node.js 22以上をインストール(Bunは使用しないでください)
- OpenClawをインストール
# Node.js 22のインストール
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# OpenClawのインストール
npm install -g openclaw@latest
インストールの確認:
node --version
openclaw --version
旧サーバーデータのバックアップ
OpenClawサービスの停止
バックアップ前に、稼働中のOpenClawサービスを停止してデータの整合性を確保します。
# systemdを使用している場合
sudo systemctl stop openclaw
# 手動で実行している場合
# プロセスを見つけて終了
pkill -f "openclaw start"
設定ディレクトリのパッケージング
~/.openclaw ディレクトリ全体をパッケージングします。
tar czf openclaw-backup-$(date +%Y%m%d).tar.gz -C ~ .openclaw
サービス設定の記録
systemdサービスを設定している場合は、サービスファイルもバックアップします。
cp /etc/systemd/system/openclaw.service ~/openclaw-service-backup.service
Nginxリバースプロキシを設定している場合も同様にバックアップします。
sudo cp /etc/nginx/sites-available/openclaw ~/openclaw-nginx-backup.conf
新しいサーバーへのデータ転送
scpまたはrsyncでバックアップファイルを新しいサーバーに転送します。
scpの使用
scp openclaw-backup-*.tar.gz user@新サーバーIP:~/
scp openclaw-service-backup.service user@新サーバーIP:~/
rsyncの使用(推奨、中断後の再開をサポート)
rsync -avz --progress openclaw-backup-*.tar.gz user@新サーバーIP:~/
2台のサーバー間でネットワークが通じない場合は、まずローカルにダウンロードしてからアップロードするか、中継ストレージ(オブジェクトストレージなど)を使用してください。
新しいサーバーでのデータ復元
設定ディレクトリの展開
cd ~
tar xzf openclaw-backup-*.tar.gz
これにより .openclaw ディレクトリが新しいサーバーのユーザーホームディレクトリに復元されます。
設定ファイルの検証
設定ファイルが完全に復元されたか確認します。
ls -la ~/.openclaw/
cat ~/.openclaw/openclaw.json
設定ファイル内のAIモデルキー、チャットプラットフォームの認証情報などの情報が完全で正確であることを確認します。
パスの互換性チェック
新旧のサーバーでユーザー名が異なる場合、設定ファイル内のパス参照を更新する必要がある場合があります。~/.openclaw/openclaw.json を開いて、ハードコードされたパスの修正が必要かどうか確認してください。
新しいサーバーのサービス設定
systemdサービスの設定
新しいサーバーでsystemdサービスファイルを作成します。バックアップしたサービスファイルをベースに修正できます。
sudo nano /etc/systemd/system/openclaw.service
新しいサーバーの環境に合わせて以下のフィールドを更新してください。
UserとGroup:新しいサーバーのユーザー名ExecStart:OpenClaw実行ファイルの正しいパスWorkingDirectoryとEnvironment内のHOMEパス
sudo systemctl daemon-reload
sudo systemctl enable openclaw
リバースプロキシの設定(必要な場合)
旧サーバーでNginxリバースプロキシを使用していた場合、新しいサーバーでも対応する設定を行います。
sudo apt install -y nginx certbot python3-certbot-nginx
sudo nano /etc/nginx/sites-available/openclaw
設定内容は以前バックアップしたファイルを参考にしてください。ドメインの指向も移行する場合は、DNSレコードも同時に更新する必要があります。
起動と検証
OpenClawサービスの起動
sudo systemctl start openclaw
診断チェックの実行
openclaw doctor
各診断結果を注意深く確認し、以下を確認します。
- Node.jsバージョンが22以上の要件を満たしている
- 設定ファイルが正しく読み込まれている
- AIモデルAPI接続が正常
- 各チャットプラットフォームの接続状態が正常
管理パネルの確認
openclaw dashboard
ブラウザで新しいサーバーの管理パネルにアクセスし、すべての機能が正常に動作していることを確認します。
DNSとドメインの移行
OpenClawにカスタムドメインを設定している場合は、DNSレコードを新しいサーバーのIPアドレスに更新する必要があります。
推奨手順:
- まずDNS TTL値を下げる(例:60秒に設定)、旧TTLの期限切れを待つ
- 新しいサーバーですべてが正常であることを確認した後、DNS Aレコードを新しいIPに更新
- DNS伝播の完了を待つ(通常数分から数時間)
- ドメインが新しいサーバーに解決されていることを確認した後、旧サーバーを停止
SSL証明書の処理
Let's Encrypt証明書を使用している場合は、新しいサーバーで再取得するだけです。
sudo certbot --nginx -d openclaw.yourdomain.com
チャットプラットフォーム接続の検証
移行後の最も重要なステップは、すべてのチャットプラットフォームの接続が正常かどうかの検証です。
- WhatsApp:WebSocket接続状態を確認。QRコードの再スキャン認証が必要な場合あり
- Telegram:Bot Tokenはサーバー変更の影響を受けないが、Webhook URLの更新が必要
- Discord:同様にWebhookとBot接続が正常であることを確認
いずれかのプラットフォームのWebhook URLに旧サーバーのドメインやIPが含まれている場合は、対応するプラットフォームの開発者コンソールで更新する必要があります。
旧サーバーの後処理
新しいサーバーが完全に正常に稼働していることを確認した後:
- 旧サーバーでOpenClawサービスを停止
- 旧サーバーのバックアップデータを少なくとも7日間保持
- 旧サーバーの自動起動設定を解除
- 旧サーバーにトラフィックが到達しないことを確認した後、安全に停止
# 旧サーバーで実行
sudo systemctl stop openclaw
sudo systemctl disable openclaw
移行チェックリスト
完全な移行チェックリストをまとめます。
- 新しいサーバーにNode.js 22以上がインストール済み
- OpenClawがインストール済みでバージョンが一致
- 設定ディレクトリ
~/.openclaw/が完全に復元済み - systemdサービスが設定・有効化済み
openclaw doctorのすべてのチェックがパス- 管理パネルに正常にアクセス可能
- すべてのチャットプラットフォームの接続が正常
- Webhook URLが更新済み
- DNSレコードが更新済み(該当する場合)
- SSL証明書が設定済み(該当する場合)
- 旧サーバーが安全に停止済み
まとめ
サーバー移行は手順が多いですが、体系的なフローに従えばOpenClawのスムーズな移行を確実にできます。重要なのは、~/.openclaw/ 設定ディレクトリの完全なバックアップ、新しい環境でのすべての接続の検証、そしてすべてが正常であることを確認してから旧サーバーを停止することです。本ガイドのチェックリストを活用すれば、安心してOpenClawを任意の新しいサーバー環境に移行できます。