Files
Athena-Deck/deploy/NATIVE_INSTALL_REQUIREMENTS.md

4.7 KiB

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.

Eigene Bild-Testlaufzeit

Der native Installer muss dieselbe Bildumgebung wie der Docker-Testinstaller bereitstellen: separates Virtualenv /opt/deck-image-python, gepinnte ComfyUI- Quelle unter /opt/deck-comfy und die gepinnte ComfyUI-GGUF-Erweiterung. Konkrete Commits stehen im Dockerfile; Paketversionen in image-requirements.lock. PyTorch 2.11.0 CUDA 12.8 benötigt kompatiblen bestehenden Treiber. Keine Treiberänderung oder automatischer Neustart. Der Deck-Service benötigt ausreichend RAM für Modellladen und Offload; die Testinstallation begrenzt ihn auf 32 GiB und zwei CPU-Kerne. Modelle/Encoder/VAE werden weiterhin separat über die Bibliothek geladen.

Decks image_encoder_node.py muss mitinstalliert werden. Der Bildtest macht 5080 und 3060 per UUID sichtbar und lädt den Textencoder explizit auf die zweite GPU. Beide Geräte werden vor dem Start auf Fremdbelegung geprüft.

Docker für optionale Studios

deploy/setup_docker_helper.py als Teil des nativen Basisinstallers provisionieren, mit eigener Deck-UID/GID und optional --allow-install. Dadurch kann Docker später über Einstellungen nachinstalliert werden. Der Helfer bleibt ein separater, root-eigener Dienst mit festem Aktionsumfang. Kein Docker-Socket im Webserver. Siehe docs/DOCKER_SERVICES.md; frischer Debian-Ende-zu-Ende-Test noch erforderlich.