Raspberry PiでOpenClawを動かす

目標

Raspberry Pi上で常時稼働のOpenClaw Gatewayを約$35〜80の一括費用(月額費用なし)で運用します。

こんな用途に最適です:

  • 24時間365日稼働のパーソナルAIアシスタント
  • ホームオートメーションのハブ
  • 低消費電力で常時利用可能なTelegram/WhatsAppボット

ハードウェア要件

PiモデルRAM動作?備考
Pi 54GB/8GB✅ 最適最速、推奨
Pi 44GB✅ 良好ほとんどのユーザーに最適
Pi 42GB✅ 可動作する、スワップを追加
Pi 41GB⚠️ ギリギリスワップ付き、最小構成で可能
Pi 3B+1GB⚠️ 遅い動作するが重い
Pi Zero 2 W512MB非推奨

最低スペック: 1GB RAM、1コア、500MBディスク 推奨: 2GB以上のRAM、64ビットOS、16GB以上のSDカード(またはUSB SSD)

必要なもの

  • Raspberry Pi 4または5(2GB以上推奨)
  • MicroSDカード(16GB以上)またはUSB SSD(高パフォーマンス)
  • 電源(公式Piアダプター推奨)
  • ネットワーク接続(イーサネットまたはWiFi)
  • 約30分の作業時間

1) OSを書き込む

**Raspberry Pi OS Lite(64ビット)**を使用 — ヘッドレスサーバーにデスクトップは不要です。

  1. Raspberry Pi Imagerをダウンロード
  2. OS選択:Raspberry Pi OS Lite(64ビット)
  3. 歯車アイコン(⚙️)をクリックして事前設定:
    • ホスト名を設定:gateway-host
    • SSHを有効化
    • ユーザー名/パスワードを設定
    • WiFiを設定(イーサネット未使用の場合)
  4. SDカード/USBドライブに書き込み
  5. Piに挿入して起動

2) SSHで接続する

ssh user@gateway-host
# またはIPアドレスを使用
ssh [email protected]

3) システムセットアップ

# システムを更新
sudo apt update && sudo apt upgrade -y

# 必要なパッケージをインストール
sudo apt install -y git curl build-essential

# タイムゾーンを設定(cron/リマインダーに重要)
sudo timedatectl set-timezone America/Chicago  # お使いのタイムゾーンに変更

4) Node.js 24をインストール(ARM64)

# NodeSource経由でNode.jsをインストール
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt install -y nodejs

# 確認
node --version  # v24.x.xと表示されるはず
npm --version

5) スワップを追加する(2GB以下では重要)

スワップはメモリ不足によるクラッシュを防止します:

# 2GBのスワップファイルを作成
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 永続化
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# 低RAMに最適化(スワップ頻度を抑制)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

6) OpenClawをインストールする

方法A:標準インストール(推奨)

curl -fsSL https://openclaw.ai/install.sh | bash

方法B:ハッカブルインストール(カスタマイズ向け)

git clone https://github.com/openclaw/openclaw.git
cd openclaw
npm install
npm run build
npm link

ハッカブルインストールではログやコードに直接アクセスできるため、ARM固有の問題のデバッグに便利です。

7) オンボーディングを実行する

openclaw onboard --install-daemon

ウィザードに従って設定:

  1. Gatewayモード: ローカル
  2. 認証: APIキー推奨(ヘッドレスPiではOAuthがうまくいかないことがある)
  3. チャネル: Telegramが始めやすい
  4. デーモン: はい(systemd)

8) インストールを確認する

# ステータスを確認
openclaw status

# サービスを確認
sudo systemctl status openclaw

# ログを確認
journalctl -u openclaw -f

9) OpenClawダッシュボードにアクセスする

user@gateway-hostをお使いのPiのユーザー名とホスト名またはIPアドレスに置き換えてください。

お使いのコンピュータから、Piに新しいダッシュボードURLを表示させます:

ssh user@gateway-host 'openclaw dashboard --no-open'

コマンドがDashboard URL:を出力します。gateway.auth.tokenの設定によって、URLはプレーンなhttp://127.0.0.1:18789/リンクか、#token=...を含むものになります。

別のターミナルで、SSHトンネルを作成します:

ssh -N -L 18789:127.0.0.1:18789 user@gateway-host

表示されたダッシュボードURLをローカルブラウザで開いてください。

UIが認証を要求した場合は、gateway.auth.token(またはOPENCLAW_GATEWAY_TOKEN)のトークンをControl UIの設定に貼り付けてください。

常時リモートアクセスについてはTailscaleを参照してください。


パフォーマンス最適化

USB SSDを使用する(大幅な改善)

SDカードは遅く、摩耗します。USB SSDでパフォーマンスが劇的に向上します:

# USBブートかどうか確認
lsblk

セットアップについてはPi USBブートガイドを参照してください。

CLI起動の高速化(モジュールコンパイルキャッシュ)

低スペックのPiホストでは、Nodeのモジュールコンパイルキャッシュを有効にして、繰り返しのCLI実行を高速化します:

grep -q 'NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache' ~/.bashrc || cat >> ~/.bashrc <<'EOF' # pragma: allowlist secret
export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache
mkdir -p /var/tmp/openclaw-compile-cache
export OPENCLAW_NO_RESPAWN=1
EOF
source ~/.bashrc

注意:

  • NODE_COMPILE_CACHEは後続の実行(statushealth--help)を高速化。
  • /var/tmp/tmpよりも再起動を生き残りやすい。
  • OPENCLAW_NO_RESPAWN=1はCLIの自己再起動による余分なスタートアップコストを回避。
  • 初回実行でキャッシュがウォームされ、以降の実行で効果を発揮。

systemd起動チューニング(任意)

このPiが主にOpenClawを実行している場合、サービスドロップインを追加して再起動のジッタを減らし、起動環境を安定させます:

sudo systemctl edit openclaw
[Service]
Environment=OPENCLAW_NO_RESPAWN=1
Environment=NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache
Restart=always
RestartSec=2
TimeoutStartSec=90

適用:

sudo systemctl daemon-reload
sudo systemctl restart openclaw

可能であればOpenClawのステート/キャッシュをSSDベースのストレージに置き、コールドスタート時のSDカードランダムI/Oボトルネックを回避してください。

Restart=ポリシーによる自動復旧の仕組み: systemdによるサービス復旧の自動化

メモリ使用量の削減

# GPUメモリ割り当てを無効化(ヘッドレス)
echo 'gpu_mem=16' | sudo tee -a /boot/config.txt

# Bluetoothが不要なら無効化
sudo systemctl disable bluetooth

リソースの監視

# メモリを確認
free -h

# CPU温度を確認
vcgencmd measure_temp

# ライブモニタリング
htop

ARM固有の注意事項

バイナリ互換性

ほとんどのOpenClaw機能はARM64で動作しますが、一部の外部バイナリにはARMビルドが必要な場合があります:

ツールARM64の対応状況備考
Node.js問題なく動作
WhatsApp (Baileys)純粋なJS、問題なし
Telegram純粋なJS、問題なし
gog (Gmail CLI)⚠️ARMリリースの有無を確認
Chromium (browser)sudo apt install chromium-browser

スキルが失敗した場合は、そのバイナリにARMビルドがあるか確認してください。多くのGo/Rustツールにはありますが、ないものもあります。

32ビットと64ビット

必ず64ビットOSを使用してください。 Node.jsや多くの最新ツールは64ビットが必要です。確認:

uname -m
# aarch64(64ビット)と表示されること。armv7l(32ビット)ではないこと

推奨モデル設定

PiはGatewayとして動作するだけで、モデルはクラウドで実行されるため、APIベースのモデルを使用してください:

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-20250514",
        "fallbacks": ["openai/gpt-4o-mini"]
      }
    }
  }
}

Pi上でローカルLLMを実行しようとしないでください — 小さなモデルでも遅すぎます。Claude/GPTに処理を任せましょう。


起動時の自動スタート

オンボーディングウィザードがこれを設定しますが、確認するには:

# サービスが有効か確認
sudo systemctl is-enabled openclaw

# 有効でない場合は有効化
sudo systemctl enable openclaw

# 起動時に開始
sudo systemctl start openclaw

トラブルシューティング

メモリ不足(OOM)

# メモリを確認
free -h

# スワップを追加(手順5を参照)
# またはPi上で実行しているサービスを減らす

パフォーマンスが遅い

  • SDカードの代わりにUSB SSDを使用
  • 不要なサービスを無効化:sudo systemctl disable cups bluetooth avahi-daemon
  • CPUスロットリングを確認:vcgencmd get_throttled0x0と返されるべき)

サービスが起動しない

# ログを確認
journalctl -u openclaw --no-pager -n 100

# よくある修正:リビルド
cd ~/openclaw  # ハッカブルインストールの場合
npm run build
sudo systemctl restart openclaw

ARMバイナリの問題

スキルが「exec format error」で失敗する場合:

  1. バイナリにARM64ビルドがあるか確認
  2. ソースからビルドを試す
  3. またはARM対応のDockerコンテナを使用

WiFiの切断

ヘッドレスPiのWiFi対策:

# WiFiのパワーマネジメントを無効化
sudo iwconfig wlan0 power off

# 永続化
echo 'wireless-power off' | sudo tee -a /etc/network/interfaces

コスト比較

セットアップ初期費用月額費用備考
Pi 4 (2GB)~$45$0+ 電気代(~$5/年)
Pi 4 (4GB)~$55$0推奨
Pi 5 (4GB)~$60$0最高パフォーマンス
Pi 5 (8GB)~$80$0やりすぎだが将来を見据えて
DigitalOcean$0$6/月$72/年
Hetzner$0€3.79/月~$50/年

損益分岐点: Piはクラウド VPSと比較して約6〜12ヶ月で元が取れます。


関連ドキュメント