From 64222fb7a84497df8aa69877589043455712cbe9 Mon Sep 17 00:00:00 2001 From: Markus Date: Thu, 21 Aug 2025 18:24:21 +0200 Subject: [PATCH] Update README with NSSM requirements and Windows Installer documentation - Add NSSM.EXE requirement for installer directory - Document Windows Installer features and build process - Update project structure to include installer directory - Add firewall configuration details --- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 94ae283..5d42aae 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,37 @@ Falls weder Kommandozeilenparameter noch Umgebungsvariable gesetzt sind, wird Po - Klicken Sie auf den "Löschen"-Button neben dem gewünschten PC - Bestätigen Sie die Löschung +## Windows Installer + +### Features +Der Windows Installer (`medi-wol-setup.exe`) bietet: +- **Automatische Service-Installation** mit NSSM +- **Port-Konfiguration** während der Installation (Standard: 9000) +- **Windows Firewall-Regeln** werden automatisch erstellt: + - Eingehende Verbindungen zur Anwendung + - Ausgehende Verbindungen (für Wake-on-LAN) + - Port-spezifische TCP-Regeln +- **Service-Start-Option** (Checkbox für automatischen Start) +- **Saubere Deinstallation** mit Entfernung aller Firewall-Regeln + +### Voraussetzungen für den Build +```bash +# NSSM in das Installer-Verzeichnis kopieren +copy "I:\MARKUS\beszel\nssm.exe" installer\nssm.exe + +# Oder von der offiziellen Quelle herunterladen +# https://nssm.cc/download +``` + +### Build des Installers +```bash +# Mit build.bat (automatisch) +.\build.bat + +# Oder manuell mit Inno Setup Compiler +ISCC.exe installer\medi-wol-setup.iss +``` + ## Build-Anweisungen ### Windows Build @@ -255,12 +286,20 @@ medi-wol/ ├── web/ # Web-Oberfläche │ ├── static/ # CSS, JavaScript │ └── templates/ # HTML-Templates +├── installer/ # Windows Installer +│ ├── medi-wol-setup.iss # Inno Setup Script +│ └── nssm.exe # NSSM für Service-Management ├── go.mod # Go-Module -├── build.bat # Windows Build-Skript +├── build.bat # Windows Build-Skript (inkl. Installer) ├── build.sh # Linux Build-Skript └── README.md # Diese Datei ``` +### Installer-Verzeichnis +Das `installer/` Verzeichnis enthält alle Dateien für den Windows Installer: +- **`medi-wol-setup.iss`** - Inno Setup Konfigurationsdatei +- **`nssm.exe`** - NSSM (Non-Sucking Service Manager) für Windows Services + ## API-Endpunkte - `GET /` - Hauptseite @@ -339,14 +378,32 @@ go vet ./... ## Deployment ### Windows Service + +#### Mit NSSM (Non-Sucking Service Manager) ```bash -# Mit NSSM (Non-Sucking Service Manager) +# Service installieren nssm install Medi-WOL "C:\path\to\medi-wol.exe" nssm set Medi-WOL AppDirectory "C:\path\to\medi-wol" nssm set Medi-WOL AppParameters "-port 9090" # Optional: Port setzen nssm start Medi-WOL ``` +#### Windows Installer (Empfohlen) +Der Windows Installer konfiguriert den Service automatisch mit NSSM: +- **Automatische Service-Installation** mit NSSM +- **Windows Firewall-Regeln** werden automatisch erstellt +- **Port-Konfiguration** während der Installation +- **Service-Start-Option** (Checkbox für automatischen Start) + +**Wichtig:** Für den Windows Installer muss `nssm.exe` im `installer/` Verzeichnis verfügbar sein: +```bash +# NSSM in das Installer-Verzeichnis kopieren +copy "I:\MARKUS\beszel\nssm.exe" installer\nssm.exe + +# Oder von der offiziellen Quelle herunterladen +# https://nssm.cc/download +``` + ### Linux Systemd Service ```ini # /etc/systemd/system/medi-wol.service