- Windows NSIS: lädt VirtViewer MSI herunter und installiert es während der App-Installation (via PowerShell + msiexec) - Linux .deb: Depends: virt-viewer — apt zieht es automatisch rein - Linux AppImage: Startup-Check mit pkexec-Dialog falls virt-viewer fehlt - BUILD.md aktualisiert: Installer-Verhalten dokumentiert
3.3 KiB
3.3 KiB
Build — Proxmox SPICE Client
Voraussetzungen
node >= 18
npm >= 9
Für Linux-Builds auf Linux-Host. Windows-Builds entweder nativ auf Windows oder via Wine (cross-build eingeschränkt — nativ empfohlen).
Entwicklung (ohne Build)
npm install
npm start
Produktions-Build
Linux — AppImage + .deb
npm run build:linux
# Output:
# dist/Proxmox SPICE Client-1.0.0.AppImage ← portable, kein Install nötig
# dist/proxmox-spice-client_1.0.0_amd64.deb ← Paket für apt
Abhängigkeiten:
- AppImage: Selbst-enthalten (Electron inklusive). Beim ersten Start wird geprüft ob
virt-viewerinstalliert ist. Falls nicht: Dialog mit automatischer Installation viapkexec apt install virt-viewer. - .deb: Deklariert
virt-vieweralsDepends— apt installiert es automatisch mit:sudo apt install ./proxmox-spice-client_1.0.0_amd64.deb
Windows — Setup.exe (NSIS)
# Am besten nativ auf Windows bauen:
npm run build:win
# Output:
# dist/Proxmox SPICE Client Setup 1.0.0.exe
Abhängigkeiten: Der NSIS-Installer prüft automatisch ob VirtViewer installiert ist. Falls nicht:
- Fragt den Benutzer ob VirtViewer jetzt installiert werden soll
- Lädt das MSI-Paket von virt-manager.org herunter (~30 MB, benötigt Internet)
- Installiert VirtViewer still im Hintergrund
Kein manueller Schritt nötig — der Installer kümmert sich um alles.
Beides auf einmal
npm run build:linux && npm run build:win
Icons
Dateien in assets/ müssen vor dem Build vorhanden sein:
| Datei | Größe | Verwendung |
|---|---|---|
assets/icon.png |
mind. 512×512 | Linux AppImage + deb |
assets/icon.ico |
multi-size | Windows NSIS Installer |
assets/icon.icns |
multi-size | macOS (optional) |
PNG → ICO konvertieren (Linux):
sudo apt install imagemagick
convert assets/icon.png -resize 256x256 assets/icon.ico
Verzeichnisstruktur
proxmox-spice-client/
├── src/
│ ├── main.js # Electron-Hauptprozess
│ ├── preload.js # Context-Bridge
│ ├── proxmox.js # Proxmox REST API Client
│ └── renderer/
│ ├── login.html
│ ├── login.js
│ ├── vms.html
│ ├── vms.js
│ └── styles.css
├── assets/
│ ├── icon.png # Quell-Icon (mind. 512×512)
│ ├── icon.ico # Windows
│ └── icon.icns # macOS (optional)
├── build/
│ └── installer.nsh # Benutzerdefiniertes NSIS-Script (VirtViewer-Install)
├── daten/ # persistente Einstellungen (Docker-Mount)
├── Dockerfile
├── docker-compose.yml
├── .env.example
├── package.json
└── BUILD.md
Hinweise
npm run build:winauf Linux erfordert Wine (sudo apt install wine) für den cross-build. Nativ auf Windows ist stabiler.- Der NSIS-Installer lädt VirtViewer zur Installationszeit herunter (benötigt Internetverbindung). Wer offline-fähig sein will: VirtViewer-MSI vorher separat verteilen und manuell installieren.
- USB-Redirect, Vollbild (
Shift+F11), Multi-Monitor: alles via VirtViewer nativ — kein Extra-Setup.