OpenClaw auf dem Raspberry Pi

Ziel

Ein dauerhaftes, immer aktives OpenClaw-Gateway auf einem Raspberry Pi für ca. 35–80 $ einmalig betreiben (keine monatlichen Kosten).

Perfekt für:

  • 24/7-KI-Assistent
  • Heimautomatisierungs-Hub
  • Stromsparender, immer verfügbarer Telegram/WhatsApp-Bot

Hardware-Anforderungen

Pi-ModellRAMFunktioniert?Hinweise
Pi 54GB/8GB✅ Am bestenSchnellster, empfohlen
Pi 44GB✅ GutSweet Spot für die meisten
Pi 42GB✅ OKFunktioniert, Swap hinzufügen
Pi 41GB⚠️ KnappMöglich mit Swap, minimale Konfig
Pi 3B+1GB⚠️ LangsamFunktioniert, aber träge
Pi Zero 2 W512MBNicht empfohlen

Mindestanforderungen: 1GB RAM, 1 Kern, 500MB Speicherplatz Empfohlen: 2GB+ RAM, 64-Bit OS, 16GB+ SD-Karte (oder USB-SSD)

Was du brauchst

  • Raspberry Pi 4 oder 5 (2GB+ empfohlen)
  • MicroSD-Karte (16GB+) oder USB-SSD (bessere Performance)
  • Netzteil (offizielles Pi-Netzteil empfohlen)
  • Netzwerkverbindung (Ethernet oder WiFi)
  • ~30 Minuten

1) OS flashen

Verwende Raspberry Pi OS Lite (64-bit) — kein Desktop nötig für einen Headless-Server.

  1. Lade den Raspberry Pi Imager herunter
  2. Wähle OS: Raspberry Pi OS Lite (64-bit)
  3. Klicke auf das Zahnrad-Symbol, um vorzukonfigurieren:
    • Hostname setzen: gateway-host
    • SSH aktivieren
    • Benutzername/Passwort setzen
    • WiFi konfigurieren (falls kein Ethernet)
  4. Auf die SD-Karte / das USB-Laufwerk flashen
  5. Einsetzen und den Pi starten

2) Per SSH verbinden

ssh user@gateway-host
# oder die IP-Adresse verwenden
ssh [email protected]

3) System einrichten

# System aktualisieren
sudo apt update && sudo apt upgrade -y

# Wichtige Pakete installieren
sudo apt install -y git curl build-essential

# Zeitzone setzen (wichtig für Cron/Erinnerungen)
sudo timedatectl set-timezone Europe/Berlin  # An deine Zeitzone anpassen

4) Node.js 24 installieren (ARM64)

# Node.js über NodeSource installieren
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt install -y nodejs

# Prüfen
node --version  # Sollte v24.x.x zeigen
npm --version

5) Swap hinzufügen (wichtig bei 2GB oder weniger)

Swap verhindert Out-of-Memory-Abstürze:

# 2GB Swap-Datei erstellen
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Permanent machen
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# Für wenig RAM optimieren (Swappiness reduzieren)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

6) OpenClaw installieren

Option A: Standard-Installation (empfohlen)

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

Option B: Hackable-Installation (zum Herumbasteln)

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

Die Hackable-Installation gibt dir direkten Zugriff auf Logs und Code — nützlich zum Debuggen ARM-spezifischer Probleme.

7) Onboarding durchführen

openclaw onboard --install-daemon

Folge dem Assistenten:

  1. Gateway-Modus: Local
  2. Auth: API-Keys empfohlen (OAuth kann auf einem Headless-Pi umständlich sein)
  3. Channels: Telegram ist der einfachste Einstieg
  4. Daemon: Ja (systemd)

8) Installation prüfen

# Status prüfen
openclaw status

# Service prüfen
sudo systemctl status openclaw

# Logs anzeigen
journalctl -u openclaw -f

9) Das OpenClaw-Dashboard aufrufen

Ersetze user@gateway-host mit deinem Pi-Benutzernamen und Hostnamen oder IP-Adresse.

Lass dir auf deinem Computer vom Pi eine frische Dashboard-URL ausgeben:

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

Der Befehl gibt Dashboard URL: aus. Je nach Konfiguration von gateway.auth.token kann die URL ein einfacher http://127.0.0.1:18789/-Link sein oder einer mit #token=....

Erstelle in einem anderen Terminal auf deinem Computer den SSH-Tunnel:

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

Öffne dann die ausgegebene Dashboard-URL in deinem lokalen Browser.

Wenn die UI nach Auth fragt, füge das Token aus gateway.auth.token (oder OPENCLAW_GATEWAY_TOKEN) in die Control-UI-Einstellungen ein.

Für dauerhaften Fernzugriff siehe Tailscale.


Performance-Optimierungen

USB-SSD verwenden (enorme Verbesserung)

SD-Karten sind langsam und verschleißen. Eine USB-SSD verbessert die Performance drastisch:

# Prüfen ob von USB gebootet wird
lsblk

Siehe Pi USB-Boot-Guide für die Einrichtung.

CLI-Start beschleunigen (Module Compile Cache)

Auf leistungsschwächeren Pi-Hosts aktiviere den Module Compile Cache von Node, damit wiederholte CLI-Aufrufe schneller sind:

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

Hinweise:

  • NODE_COMPILE_CACHE beschleunigt nachfolgende Aufrufe (status, health, --help).
  • /var/tmp überlebt Neustarts besser als /tmp.
  • OPENCLAW_NO_RESPAWN=1 vermeidet zusätzliche Startkosten durch CLI-Self-Respawn.
  • Der erste Lauf wärmt den Cache auf; spätere Läufe profitieren am meisten.

systemd-Startup-Tuning (optional)

Wenn dieser Pi hauptsächlich OpenClaw ausführt, füge ein Service-Drop-in hinzu, um Neustart-Jitter zu reduzieren und die Startup-Umgebung stabil zu halten:

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

Dann anwenden:

sudo systemctl daemon-reload
sudo systemctl restart openclaw

Wenn möglich, halte OpenClaw State/Cache auf SSD-gestütztem Speicher, um SD-Karten-Random-I/O-Engpässe bei Kaltstarts zu vermeiden.

Wie Restart=-Policies bei automatischer Wiederherstellung helfen: systemd kann Service-Wiederherstellung automatisieren.

Speicherverbrauch reduzieren

# GPU-Speicherzuweisung deaktivieren (headless)
echo 'gpu_mem=16' | sudo tee -a /boot/config.txt

# Bluetooth deaktivieren falls nicht benötigt
sudo systemctl disable bluetooth

Ressourcen überwachen

# Speicher prüfen
free -h

# CPU-Temperatur prüfen
vcgencmd measure_temp

# Live-Monitoring
htop

ARM-spezifische Hinweise

Binary-Kompatibilität

Die meisten OpenClaw-Features funktionieren auf ARM64, aber manche externen Binaries brauchen ARM-Builds:

ToolARM64-StatusHinweise
Node.jsFunktioniert einwandfrei
WhatsApp (Baileys)Reines JS, keine Probleme
TelegramReines JS, keine Probleme
gog (Gmail CLI)⚠️Nach ARM-Release schauen
Chromium (Browser)sudo apt install chromium-browser

Falls ein Skill fehlschlägt, prüfe ob sein Binary einen ARM64-Build hat. Viele Go/Rust-Tools haben einen; manche nicht.

32-Bit vs. 64-Bit

Immer 64-Bit OS verwenden. Node.js und viele moderne Tools erfordern es. Prüfe mit:

uname -m
# Sollte zeigen: aarch64 (64-Bit) nicht armv7l (32-Bit)

Empfohlenes Modell-Setup

Da der Pi nur das Gateway ist (Modelle laufen in der Cloud), verwende API-basierte Modelle:

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

Versuche nicht, lokale LLMs auf einem Pi auszuführen — selbst kleine Modelle sind zu langsam. Lass Claude/GPT die schwere Arbeit machen.


Autostart beim Booten

Der Onboarding-Assistent richtet das ein, aber zur Prüfung:

# Prüfen ob der Service aktiviert ist
sudo systemctl is-enabled openclaw

# Aktivieren falls nicht
sudo systemctl enable openclaw

# Beim Booten starten
sudo systemctl start openclaw

Fehlerbehebung

Speicher voll (OOM)

# Speicher prüfen
free -h

# Mehr Swap hinzufügen (siehe Schritt 5)
# Oder weniger Services auf dem Pi laufen lassen

Langsame Performance

  • USB-SSD statt SD-Karte verwenden
  • Ungenutzte Services deaktivieren: sudo systemctl disable cups bluetooth avahi-daemon
  • CPU-Throttling prüfen: vcgencmd get_throttled (sollte 0x0 zurückgeben)

Service startet nicht

# Logs prüfen
journalctl -u openclaw --no-pager -n 100

# Häufiger Fix: neu bauen
cd ~/openclaw  # falls Hackable-Installation
npm run build
sudo systemctl restart openclaw

ARM-Binary-Probleme

Falls ein Skill mit „exec format error” fehlschlägt:

  1. Prüfe ob das Binary einen ARM64-Build hat
  2. Versuche es aus dem Quellcode zu bauen
  3. Oder verwende einen Docker-Container mit ARM-Unterstützung

WiFi-Abbrüche

Für Headless-Pis im WiFi:

# WiFi-Power-Management deaktivieren
sudo iwconfig wlan0 power off

# Permanent machen
echo 'wireless-power off' | sudo tee -a /etc/network/interfaces

Kostenvergleich

SetupEinmalige KostenMonatliche KostenHinweise
Pi 4 (2GB)~45 $0 $+ Strom (~5 $/Jahr)
Pi 4 (4GB)~55 $0 $Empfohlen
Pi 5 (4GB)~60 $0 $Beste Performance
Pi 5 (8GB)~80 $0 $Overkill aber zukunftssicher
DigitalOcean0 $6 $/Monat72 $/Jahr
Hetzner0 $€3,79/Monat~50 $/Jahr

Break-even: Ein Pi amortisiert sich in ca. 6–12 Monaten gegenüber Cloud-VPS.


Siehe auch