# 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 ```bash # Base provisioning bash scripts/provision.sh # OpenClaw fresh install npm install -g openclaw openclaw setup ``` ### Phase 2 — Daten übertragen ```bash # 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 ```bash # 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 ```bash # 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 ```bash # 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-tc` oder `otto-2`? - [ ] Pi-Rolle nach Migration klären