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

3.6 KiB

Migration auf eine neue Arch-Linux-Maschine

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

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:

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:

~/.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 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. 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

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.