Files
hermes-arch-stack/docs/MIGRATION.md
T

99 lines
3.8 KiB
Markdown

# Migration auf eine neue Arch-Linux-Maschine
Für den aktuellen Routine-/Large-Betrieb samt Limits zuerst
[NEW_WORKSTATION.md](NEW_WORKSTATION.md) verwenden. Die folgenden Abschnitte
ergänzen die Übernahme persönlicher Daten und die ältere manuelle Modellkonfiguration.
Das Gitea-Repository reproduziert Programme, Units und Wartungslogik. Persönliche
Hermes-Daten, Secrets, Signal-Geräteidentität und Modellgewichte werden separat
übertragen.
## 1. Deployment installieren
```bash
git clone ssh://git@GITEA/OWNER/hermes-arch-stack.git
cd hermes-arch-stack
./install.sh --install-packages --install-hermes
```
## 2. Hermes-Benutzerdaten übertragen
Auf der alten Maschine Hermes und Gateway stoppen und ein verschlüsseltes
Backup erstellen. Mindestens relevant sind:
- `~/.hermes/config.yaml`
- `~/.hermes/.env`
- `~/.hermes/auth.json`, sofern vorhanden
- Profile, Sessions, Memories, Skills und Cron-Daten unter `~/.hermes/`
Der Upstream-Checkout `~/.hermes/hermes-agent/` muss nicht übertragen werden;
er wird vom offiziellen Installer neu erzeugt. Ein unverschlüsseltes Archiv mit
Secrets darf weder ins Repository noch auf einen ungeschützten Fileserver.
Alternativ den jeweils aktuellen Hermes-Backup-/Import-Befehl verwenden und
vorher dessen Hilfe prüfen:
```bash
hermes backup --help
hermes import --help
```
## 3. Signal
Entweder signal-cli auf dem neuen Rechner als neues verknüpftes Gerät anmelden
oder das vollständige signal-cli-Datenverzeichnis verschlüsselt übertragen:
```text
~/.local/share/signal-cli/
```
Dieses Verzeichnis enthält Zugangsdaten und ist wie ein Passwort zu behandeln.
Es darf niemals committed werden. Anschließend Account und Port in
`~/.config/hermes-stack-maintenance/signal-cli.env` sowie in `~/.hermes/.env`
abgleichen.
Eine kopierte Signal-Geräteidentität nicht auf beiden Maschinen gleichzeitig
betreiben. Für Parallelbetrieb die neue Maschine als separates Gerät verknüpfen.
## 4. llama.cpp und Modell
`llama-server` mit [LLAMA_INSTALL.md](LLAMA_INSTALL.md) installieren (CUDA-Build
inklusive CLI und Benchmark) oder vorhandene Binary verwenden. Die GGUF-Datei
und einen ggf. benötigten Vision-Projektor übertragen oder beim ersten Start
über HF beziehen. Danach
`~/.config/hermes-stack-maintenance/llama.env` anpassen.
Für eine Workstation mit Desktop auf derselben GPU `desktop-64k` (64K,
4096 MiB Fit-Zielmarge) als Ausgangspunkt verwenden. Den optionalen lokalen
Kompressionsserver über `compression.env` auf CPU konfigurieren und seine
GGUF-Datei separat übertragen. Die vollständige Einrichtung und Abnahme steht
unter [Desktop-Reserve und CPU-Kompression](RTX3080.md#desktop-reserve-und-cpu-kompression-seit-12102026).
Auch die eigenen `~/.config/hermes-stack-maintenance/`-Dateien sichern und
gezielt übertragen; lokale Pfade, Binary-Auswahl und Profil-Override auf der
neuen Maschine prüfen. Keine vollständige systemd-Konfiguration blind kopieren. Modellgewichte gehören
wegen Größe und Lizenz nicht in dieses Repository.
Die RTX-3080-Profile sind für 10 GB VRAM und die bisherige CPU ausgelegt; auf
anderer Hardware neu messen. `LLAMA_SERVER_BIN`, Modellpfad, Port und Alias
zwischen Hermes und llama.cpp abgleichen. Der neue Rechner braucht seine eigenen
NVIDIA-/Kernelpakete. Keine Binärkopie des alten CUDA-Builds erzwingen.
## 5. Aktivieren und prüfen
```bash
hermes gateway install --force
systemctl --user daemon-reload
systemctl --user enable --now signal-cli.service llama-qwen.service
# Nur nach Einrichtung der optionalen Kompression:
systemctl --user enable --now llama-compression.service
systemctl --user enable --now \
hermes-stack-hermes-update.timer \
hermes-stack-health.timer \
hermes-stack-signal-health.timer \
hermes-stack-signal-update-check.timer
~/.local/libexec/hermes-stack-doctor
```
Erst wenn der Doctor erfolgreich ist, die alte Maschine bzw. deren Signal-Gerät
außer Betrieb nehmen.