Define clean Debian bootstrap requirements for native installer

This commit is contained in:
Mikei386
2026-09-28 16:47:29 +02:00
parent ba524b0a70
commit 8a92cdcde3
3 changed files with 75 additions and 2 deletions
+7
View File
@@ -134,3 +134,10 @@ Der verifizierte Erstbuild liegt in `state/runtime-verification`;
`state/runtime/<Build-ID>` verweist intern darauf, damit seine Build-RPATHs `state/runtime/<Build-ID>` verweist intern darauf, damit seine Build-RPATHs
erhalten bleiben. Beide Verzeichnisse gehören ausschließlich Deck und bleiben erhalten bleiben. Beide Verzeichnisse gehören ausschließlich Deck und bleiben
bei Updates bestehen. Künftige Builds entstehen direkt unter `state/runtime`. bei Updates bestehen. Künftige Builds entstehen direkt unter `state/runtime`.
## Installation als Produktanforderung
Der native Installer muss ein frisches Debian vollständig vorbereiten. Siehe
[verbindlicher Umfang und Abnahme](deploy/NATIVE_INSTALL_REQUIREMENTS.md).
Vorhandene Werkzeuge auf Athena dürfen nicht als allgemeine Voraussetzung
versteckt bleiben. Der Docker-Testinstaller ist kein fertiger nativer Installer.
+10 -2
View File
@@ -1,4 +1,4 @@
# Athena Deck auf Debian installieren # Athena Deck: derzeitiger Docker-Testinstaller
Eigenständige Installation ohne WireGuard-Modul und ohne Änderungen am bestehenden Eigenständige Installation ohne WireGuard-Modul und ohne Änderungen am bestehenden
Athena-Router. Der Installer installiert den aktuellen Deck-Anwendungsstand; Athena-Router. Der Installer installiert den aktuellen Deck-Anwendungsstand;
@@ -6,7 +6,15 @@ Modellkatalog, Downloads und llama.cpp-Buildverwaltung sind aktiv. Das Docker-Im
enthält das CUDA-Build-Toolkit; der Debian-Host wird nicht verändert. Zielprodukt enthält das CUDA-Build-Toolkit; der Debian-Host wird nicht verändert. Zielprodukt
bleibt ein nativer systemd-Dienst. Modellstarts sind noch nicht angebunden. bleibt ein nativer systemd-Dienst. Modellstarts sind noch nicht angebunden.
## Voraussetzungen ## Ziel: native Installation auf frischem Debian
Der endgültige Installer muss alle Voraussetzungen selbst einrichten können,
einschließlich Python, Build-Werkzeugen, CUDA und Dienstbetrieb. Docker ist
keine Voraussetzung des Zielprodukts. Der aktuelle Testinstaller erfüllt dies
noch nicht. Verbindlicher Umfang und Abnahme:
[Native Installationsanforderungen](deploy/NATIVE_INSTALL_REQUIREMENTS.md).
## Voraussetzungen des aktuellen Testinstallers
- Debian 12 oder 13, Python 3 und root/sudo. - Debian 12 oder 13, Python 3 und root/sudo.
- Docker Engine >= 28, bereits eingerichtet und erreichbar. - Docker Engine >= 28, bereits eingerichtet und erreichbar.
+58
View File
@@ -0,0 +1,58 @@
# Verbindlicher Installationsumfang: frisches Debian
Athena Deck muss auf einem frischen, unterstützten Debian mit Internetzugang und
root/sudo installierbar sein. Docker, Python, Compiler, CUDA und ein vorhandener
Athena-Router dürfen für das native Produkt nicht vorausgesetzt werden.
Der aktuelle `install.sh` ist nur der Docker-Testinstaller und erfüllt dieses
Ziel noch nicht. Diese Datei ist der verbindliche Umfang für seinen nativen
Nachfolger, keine Behauptung einer bereits implementierten Installation.
## Vom nativen Installer einzurichten
- Python-Laufzeit, CA-Zertifikate, Git und Download-Voraussetzungen.
- C/C++-Compiler, Make, CMake und benötigte Entwicklungsbibliotheken
(derzeit unter anderem OpenSSL); Versionen anhand des unterstützten
llama.cpp-Buildstands prüfen.
- Passendes CUDA-Build-Toolkit für die tatsächlich erkannten GPUs, einschließlich
gemischter GPU-Generationen. Toolkit und Host-Treiber getrennt behandeln.
- NVIDIA-Treiber auf Neuinstallationen: vorhandenen Zustand und Kompatibilität
prüfen, erforderliche Einrichtung nachvollziehbar anbieten. Kein blindes
Überschreiben vorhandener Treiber. Erforderlichen Neustart melden, niemals
automatisch neu starten; Installation danach fortsetzen können.
- Eigener unprivilegierter Dienstbenutzer, private Zustandsverzeichnisse,
Modellablage, versionierte Build-Verzeichnisse und passende Dateirechte.
- Nativer systemd-Dienst mit geregeltem Start/Stopp, Kindprozess-Cleanup,
Ressourcenlimits, Bereitschaftsprüfung und Autostart.
- Ersteinrichtung von Oberflächenkennwort und API-Token ohne Standardkennwort
oder Ausgabe von Geheimnissen. Kein ungeschütztes Beanspruchen des Servers.
- Wiederholbarer Installationsablauf, Wiederaufnahme nach Fehlern sowie
Update-/Rückfallmechanismus ohne Verlust von Zugangsdaten, Modellen und Builds.
Die vollständige Build-Umgebung wird installiert. Die Auswahl der llama.cpp-
Version, der eigentliche Build und spätere Updates bleiben über die GUI möglich.
Modellgewichte werden nicht ungefragt heruntergeladen. Produktionsprofile,
Modelle oder Pfade des heutigen Athena-Servers sind keine Installationsvoraussetzung.
WireGuard ist eine optionale, ausdrücklich ausgewählte Komponente.
## Grenzen auf bereits genutzten Servern
Neuinstallation und bestehende Installation müssen unterschieden werden.
Vorhandene Router, Container, GPUs nutzende Dienste, Netzwerk-/Firewallregeln und
WireGuard-Gateways werden nicht ungefragt verändert. Änderungen an Paketen,
Treibern und Diensten werden vor Ausführung konkret angezeigt. Auf der heutigen
Athena bleiben Host-Pakete und Treiber unverändert; Entwicklung weiterhin isoliert.
## Abnahme vor Freigabe
1. Installation auf frischem unterstütztem Debian ohne Python/Docker/Build-Tools.
2. CPU-Pfad sowie NVIDIA-Pfad mit RTX 3060 und RTX 5080 prüfen.
3. Ersteinrichtung, Anmeldung, Hardwareanzeige und systemd-Neustart prüfen.
4. llama.cpp über die GUI herunterladen, für erkannte GPU-Architekturen bauen,
Version prüfen und Auto-Fit ausführen.
5. Abbruch, fehlendes Netz, wenig Speicher, notwendiger Treiberneustart und
Wiederaufnahme prüfen; keine automatischen Host-Neustarts.
6. Wiederholte Installation, Update und Rückfall mit erhaltenem Zustand prüfen.
Erst nach diesen Prüfungen darf die Dokumentation den Installer als für ein
frisches Debian vollständig geeignet bezeichnen.