Hi, ich habe den Server bei mir seit einiger Zeit unter Windows laufen.
Die folgende Beschreibung geht davon aus, dass die Quellen über Github bezogen werden. Sollte sich das in Zukunft ändern, ist nur die Beschaffung/Aktualisierung der Quelldaten anzupassen.
Außerdem ist meine Installation schon eine Weile her. Seitdem haben sich an den Rahmenbedingungen auch ein paar Kleinigkeiten geändert. So im Groben sollte es aber passen. Falls etwas nicht geht, einfach nochmal hier melden. Dann schau ich nochmal drüber.
Installiert werden muss:
→ Node.JS (edit: LTS-Stand nehmen, also die Versionen, die mit einer geraden Zahl beginnen; das Framework für den Server; ohne das geht gar nichts)
→ Git (zur Beschaffung/Aktualisierung der Quellen)
→ Python 2.7 (nicht 3.7)
Nachdem alles installiert ist, kann die Installation/Einrichtung beginnen. Das alles läuft über eine DOS-Shell. Geht sicherlich auch grafisch, verkompliziert aber die Erklärungen enorm
:
→ git repo clone BoxSo/ALARMiator-Server (das holt die Quellen)
→ npm install -g windows-build-tools (dies installiert zusätzliche NodeJS-Komponenten)
→ npm install (das „installiert“ den eigentlichen Server, lädt alle benötigten öffentlichen Libraries und deren Abhängigkeiten)
Damit ist dann alles eingerichtet. Nun muss man den Server nur noch starten.
→ node app.js (aus dem Hauptverzeichnis)
Anmerkung: zumeist ist es sinnvoll, sowas wie pm2 zu nutzen, um den Server zu starten bzw. zu überwachen. Die Installation und Einrichtung davon ist unter Windows allerdings wenig komfortabel und hat bei mir zu vielen Stolperstellen geführt. Letztendlich lief es dann aber irgendwann. Ohne Bastel-Elan würde ich davon unter Windows derzeit abraten.
Der Server ist dann lokal über Port 5000 erreichbar (localhost:5000). Der Standard-User ist „admin“ mit dem Passwort „admin“. Das sollte natürlich dann zeitnah geändert werden, wenn der Server läuft.
Zur Erreichbarkeit des Servers von außen (Rückmeldungen aus der App; aktiver Abruf von Informationen vom Server) muss der Server eine öffentliche Adresse haben. Die Alarmierung selbst funktioniert aber auch ohne - allerdings dann halt mit eingeschränkter Funktionalität der App (keine Rückmeldungen etc).
Viel Erfolg!