Files
aria.hacker 47db668ccc feat: Installer mit automatischer VirtViewer-Abhängigkeit
- 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
2026-07-03 02:56:23 +02:00

119 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Build — Proxmox SPICE Client
## Voraussetzungen
```bash
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)
```bash
npm install
npm start
```
---
## Produktions-Build
### Linux — AppImage + .deb
```bash
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-viewer` installiert ist. Falls nicht: Dialog mit automatischer Installation via `pkexec apt install virt-viewer`.
- **.deb**: Deklariert `virt-viewer` als `Depends` — apt installiert es automatisch mit:
```bash
sudo apt install ./proxmox-spice-client_1.0.0_amd64.deb
```
### Windows — Setup.exe (NSIS)
```bash
# 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:
1. Fragt den Benutzer ob VirtViewer jetzt installiert werden soll
2. Lädt das MSI-Paket von virt-manager.org herunter (~30 MB, benötigt Internet)
3. Installiert VirtViewer still im Hintergrund
Kein manueller Schritt nötig — der Installer kümmert sich um alles.
### Beides auf einmal
```bash
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):**
```bash
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:win` auf 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.