diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 55bc91b..754985d 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -134,3 +134,10 @@ Der verifizierte Erstbuild liegt in `state/runtime-verification`; `state/runtime/` verweist intern darauf, damit seine Build-RPATHs erhalten bleiben. Beide Verzeichnisse gehören ausschließlich Deck und bleiben 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. diff --git a/INSTALL.md b/INSTALL.md index 4b61711..79a28b6 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -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 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 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. - Docker Engine >= 28, bereits eingerichtet und erreichbar. diff --git a/deploy/NATIVE_INSTALL_REQUIREMENTS.md b/deploy/NATIVE_INSTALL_REQUIREMENTS.md new file mode 100644 index 0000000..19906c2 --- /dev/null +++ b/deploy/NATIVE_INSTALL_REQUIREMENTS.md @@ -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.