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-Modell | RAM | Funktioniert? | Hinweise |
|---|---|---|---|
| Pi 5 | 4GB/8GB | ✅ Am besten | Schnellster, empfohlen |
| Pi 4 | 4GB | ✅ Gut | Sweet Spot für die meisten |
| Pi 4 | 2GB | ✅ OK | Funktioniert, Swap hinzufügen |
| Pi 4 | 1GB | ⚠️ Knapp | Möglich mit Swap, minimale Konfig |
| Pi 3B+ | 1GB | ⚠️ Langsam | Funktioniert, aber träge |
| Pi Zero 2 W | 512MB | ❌ | Nicht 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.
- Lade den Raspberry Pi Imager herunter
- Wähle OS: Raspberry Pi OS Lite (64-bit)
- Klicke auf das Zahnrad-Symbol, um vorzukonfigurieren:
- Hostname setzen:
gateway-host - SSH aktivieren
- Benutzername/Passwort setzen
- WiFi konfigurieren (falls kein Ethernet)
- Hostname setzen:
- Auf die SD-Karte / das USB-Laufwerk flashen
- 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:
- Gateway-Modus: Local
- Auth: API-Keys empfohlen (OAuth kann auf einem Headless-Pi umständlich sein)
- Channels: Telegram ist der einfachste Einstieg
- 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_CACHEbeschleunigt nachfolgende Aufrufe (status,health,--help)./var/tmpüberlebt Neustarts besser als/tmp.OPENCLAW_NO_RESPAWN=1vermeidet 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:
| Tool | ARM64-Status | Hinweise |
|---|---|---|
| Node.js | ✅ | Funktioniert einwandfrei |
| WhatsApp (Baileys) | ✅ | Reines JS, keine Probleme |
| Telegram | ✅ | Reines 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(sollte0x0zurü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:
- Prüfe ob das Binary einen ARM64-Build hat
- Versuche es aus dem Quellcode zu bauen
- 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
| Setup | Einmalige Kosten | Monatliche Kosten | Hinweise |
|---|---|---|---|
| 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 |
| DigitalOcean | 0 $ | 6 $/Monat | 72 $/Jahr |
| Hetzner | 0 $ | €3,79/Monat | ~50 $/Jahr |
Break-even: Ein Pi amortisiert sich in ca. 6–12 Monaten gegenüber Cloud-VPS.
Siehe auch
- Linux-Guide — allgemeines Linux-Setup
- DigitalOcean-Guide — Cloud-Alternative
- Hetzner-Guide — Docker-Setup
- Tailscale — Fernzugriff
- Nodes — Laptop/Handy mit dem Pi-Gateway paaren