2.2 KiB
2.2 KiB
Otto Migration — Pi → ThinkCentre 2
Ziel
OpenClaw (Otto) von 192.168.0.84 (Pi, ARM64) auf ThinkCentre 2 (x86, i5-13400T, 16 GB) migrieren.
Vorteile
| Pi (aktuell) | ThinkCentre 2 | |
|---|---|---|
| CPU | Cortex-A76 (4C) | i5-13400T (10C/16T) |
| RAM | 8 GB | 16 GB |
| Arch | ARM64 | x86_64 |
| Node builds | langsam | schnell |
| Expo/Gradle | hakelig | nativ |
Migrationsstrategie
Fresh Install (nicht in-place) — sauberer Start, keine ARM-Reste.
Pi bleibt aktiv bis ThinkCentre 2 vollständig validiert ist.
Schritt für Schritt
Phase 1 — ThinkCentre 2 vorbereiten
# Base provisioning
bash scripts/provision.sh
# OpenClaw fresh install
npm install -g openclaw
openclaw setup
Phase 2 — Daten übertragen
# Workspace (ohne secrets, ohne node_modules)
rsync -av --exclude='node_modules' --exclude='.git' \
pi@192.168.0.84:~/.openclaw/workspace/ \
~/.openclaw/workspace/
# Secrets manuell übertragen (nie per Git!)
# - ~/.openclaw/secrets/
# - ~/.openclaw/openclaw.json (enthält API Keys)
# QMD collections neu indexieren (ARM → x86, Embeddings neu)
qmd embed -c vault
qmd embed -c workspace
Phase 3 — Services migrieren
# APK Server (lighttpd)
sudo apt install lighttpd
# Config: /etc/lighttpd/lighttpd.conf → serve /var/www/downloads auf :8080
# PM2 Services
pm2 start ecosystem.config.cjs # zeitanker-tasks
pm2 save
pm2 startup
Phase 4 — Cutover
# DNS/IP in relevanten Configs aktualisieren:
# - TOOLS.md: APK Server URL
# - MEMORY.md: Otto Pi IP
# - Uptime Kuma: Monitor auf neue IP
# - Discord Webhooks falls nötig
# Pi-Heartbeat-Cron auf ThinkCentre 2 umziehen
# Uptime Kuma Push-URL aktualisieren
Phase 5 — Validierung
- OpenClaw antwortet auf Discord
- Heartbeat läuft (Uptime Kuma grün)
- QMD search funktioniert
- PM2 Services alle online
- APK Server erreichbar
Phase 6 — Pi dekommissionieren
# Pi-Services stoppen
pm2 stop all
# Pi als Fallback/Backup behalten oder neu nutzen für:
# - Home Assistant (wenn .59 stirbt)
# - Reserve
Offene Fragen
- ThinkCentre 2 IP bestimmen (nach Netzwerk-Einbindung)
- Neuer Hostname:
otto-tcoderotto-2? - Pi-Rolle nach Migration klären