103 lines
2.2 KiB
Markdown
103 lines
2.2 KiB
Markdown
# 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
|