Files
proxmox-spice-client/BUILD.md
T

2.3 KiB
Raw Blame History

Build — Proxmox SPICE Client

Voraussetzungen

node >= 18
npm >= 9

Für Linux-Builds auf Linux-Host, für Windows-Builds entweder Windows oder Wine (cross-build eingeschränkt — lieber nativ bauen).

Entwicklung

npm install
npm start

Produktions-Build

Linux (AppImage + .deb)

npm run build:linux
# Output: dist/Proxmox SPICE Client-1.0.0.AppImage
#         dist/proxmox-spice-client_1.0.0_amd64.deb

Windows (.exe Installer)

npm run build:win
# Output: dist/Proxmox SPICE Client Setup 1.0.0.exe

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

PNG → ICNS (macOS):

# mit electron-icon-maker:
npx electron-icon-maker --input=assets/icon.png --output=assets/

Abhängigkeit: virt-viewer

Der Client startet remote-viewer (Teil von virt-viewer). Muss auf dem Zielrechner installiert sein:

Die App zeigt beim ersten Verbindungsversuch einen Dialog wenn remote-viewer nicht gefunden wird.

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)
├── daten/               # persistente Einstellungen (Docker-Mount)
├── Dockerfile
├── docker-compose.yml
├── .env.example
├── package.json
└── BUILD.md