Hardware
Empfohlene Hardware- und Virtualisierungsanforderungen für den produktiven Betrieb.
Mindestanforderungen:
Prozessor: Intel Xeon E5 oder neuer / AMD Ryzen 5 oder neuer
CPU: mindestens 4 Kerne, empfohlen 8 Kerne oder mehr
RAM: mindestens 4 GB, empfohlen 8 GB oder mehr
Festplattenspeicher: mindestens 80 GB, empfohlen 260 GB oder mehr als SSD
Netzwerkkarte: Gigabit Ethernet
Betriebssystem: Debian 12 (Bookworm) oder neuer
Software & Betriebssystem
Anforderungen an das installierte Betriebssystem.
Installation:
NDPro ist ein node.js Projekt und wir unter der Linux Distribution Debian betrieben.
Betriebssystem: Debian 12 (Bookworm, No-Desktop Default setup) auf einer Partition
Konfiguration eines IPv4 Adapters per Static oder DHCP über 1GB oder 10GB Ethernet
SSH-Zugriff für die Verwaltung, Bereitstellung eines Users „ndpro
Konfiguration von Hostname und Hosts file gemäß Projektbedarf
Installation der NDPro Umgebung über beigelegtes *.sh Script, dieses beinhaltet die automatische Installation folgender zusätzlicher Module: curl, openvpn, openssl, htop, zip, unzip, ufw, samba, sqlite3, ca-certificates, gnupg und apache2
Durch das Script wird für den Betrieb von NDPro node.js als latest LTS installiert (22.11 oder neuer) mit PM2 als Watchdog und zugehörig npm/ncu als Package Manager
Die weitere Installation beinhaltet eine Option für SMB/Samba zur Verzeichnisfreigabe
Automatische Einrichtung der Firewall UFW, Freigabe von SSH, (SMB), HTTP, HTTPS
Download des aktuellen NDPro Pakets von update.ndpro.app
Entpacken und Installation der NDPro Umgebung im Benutzerverzeichnis des Users „ndpro“
Benutzerkontext:
NDPro läuft im Benutzerkontext („ndpro“) ohne Root-Rechte; Dienste werden über PM2/systemd verwaltet.
Generierung eines Self-Signed Zertifikats als Default-Solution, später Ersatz durch Userzertifikat
Einrichtung und Konfiguration der Apache2 VirtualHost Umgebung für HTTPS Forwarding/Proxy
Einrichtung des OpenVPN Client auf NDPro Update Bridge (AES-256-GCM, ECDSA secp521r1 + TLS)
Abschluss mit Bereitstellung des Systemkeys für die Dokumentation
Die weitere Konfiguration des Systems erfolgt über das NDPro Webinterface
Netzwerk & Firewall
NDPro ist als zentrale Plattform für den lokalen Betrieb konzipiert. Die Kommunikation mit AV- und Gebäudetechnik erfolgt lokal über IP-basierte Geräteschnittstellen. Alle Kernfunktionen wie Steuerung, Automatisierung, Benutzeroberflächen, Backups und Zeitplanung stehen vollständig offline bereit. Eine Internetverbindung wird benötigt für folgende Dienste: Systemupdates Betriebssystem/Dienste, NDPro Updater (Softwareupdates & Patches) und NDC Monitoring (Statusmeldungen, Benachrichtigungen)
DNS-Routing für Visualisierungen:
Touchpanels, Browser und mobile Endgeräte greifen grundsätzlich über eine Domain auf den NDPro-Server zu. Der verwendete DNS-Server muss diese Domain auf die IP-Adresse des NDPro-Controllers auflösen.
z. B. projektdomain.ndpro.app → 192.168.100.5
Für Produktivsysteme sind gültige, öffentlich signierte TLS-Zertifikate erforderlich. Diese können von der betreibenden Organisation oder dem Integrationspartner bereitgestellt werden. Eine automatische Erneuerung, beispielsweise über Let’s Encrypt, wird empfohlen. Auch Wildcard-Zertifikate werden unterstützt. Für die Erstinbetriebnahme erstellt NDPro zunächst ein Self-Signed-Zertifikat.
Die von NDPro erzeugten Konfigurationsdateien enthalten die konfigurierte Domain. Touchpanels und Webbrowser erwarten standardmäßig eine gültige TLS-Verbindung. Server mit Self-Signed-Zertifikaten werden von vielen Geräten und Browsern standardmäßig abgelehnt.
Für Testumgebungen bieten zahlreiche Hersteller die Möglichkeit, die Zertifikatsprüfung temporär zu deaktivieren. Diese Option sollte ausschließlich für Entwicklungs- und Testsysteme verwendet werden.
Damit TLS-Verbindungen zuverlässig funktionieren, müssen außerdem Uhrzeit, Zeitzone und die NTP-Synchronisation der Endgeräte korrekt konfiguriert sein. Die DNS-Auflösung sollte sich auf dem jeweiligen Endgerät überprüfen lassen. Die verwendete Domain muss dabei auf die IP-Adresse des NDPro-Servers aufgelöst werden.
Firewall-Freigaben für Onlinezugriffe:
HTTPS (TCP Port 443): Die Controller benötigen HTTPS-Zugriff für die gesicherte Übertragung von Status-, Betriebs- und Störmeldungen.
DNS (TCP/UDP Port 53 + 853): Die Controller benötigen Zugriff auf einen internen oder externen DNS-Server zur Auflösung von Domänennamen.
NTP/SNTP (UDP Port 123): Die Controller benötigen Zugriff auf einen internen oder externen Zeitserver (NTP) zur korrekten zeitlichen Erfassung von Systemereignissen.
VPN (UDP Port 1201): Die Controller benötigen Zugriff auf den NDPro-Update-Server, um Softwareupdates und Sicherheits-Patches fortlaufend zu erhalten.
Allgemein: Für Betriebssystem-Updates sollte selektiv oder dauerhaft eine Freigabe der TCP-Ports 80/443 bereitgestellt werden, um Update-Pakete aus den Debian-Repositorys herunterladen zu können.
Firewall Freigaben für lokale Kommunikation:
Zugriff auf NDPro – Für Administration, Visualisierung und Dateizugriffe müssen folgende Protokolle/Ports erreichbar sein: SSH (22), HTTP (80), HTTPS (443), SMB (445)
Zugriff von NDPro zu Endgeräten – Die Steuerung benötigt je nach Hersteller und Protokoll flexible Kommunikationswege. Daher wird eingehender Verkehr vom NDPro-Controller zu Endgeräten als ANY TCP/UDP + ICMP empfohlen, um sämtliche herstellerspezifischen APIs, Status- und Protokollkommunikation sicherzustellen.
Limitierte Online-Freigaben als Option
Mindestausstattung für Updates, Monitoring und externe Dienste. Für den Betrieb von NDPro können abhängig von der jeweiligen Systemkonfiguration ausgehende Internetverbindungen erforderlich sein. Die folgenden Ziele stellen die empfohlene Mindestausstattung dar. Nicht benötigte Dienste können kundenseitig von der Freigabe ausgenommen werden.
NDPro-Dienste
update.ndpro.app
Bereitstellung von NDPro Software- und Systemupdates.service.(provider).com
Zentrale NDPro-Dienste für Monitoring, Lizenzierung und Zertifikatsverwaltung.
NDPro-Betriebssystem und Software-Updates
*.debian.org
Debian-Paketquellen und Sicherheitsupdates, insbesondere security.debian.org.*.nodesource.com
Bereitstellung und Aktualisierung der Node.js-Laufzeitumgebung.*.npmjs.org
Node.js-Paketverwaltung und Aktualisierung benötigter npm-Komponenten.
Remote Service
*.teamviewer.com
Remote-Service über TeamViewer. Der Zugriff sollte ausschließlich über freigegebene und entsprechend abgesicherte Company-Accounts erfolgen.
DNS und Zeitsynchronisation
8.8.8.8 / 1.1.1.1
Externe DNS-Auflösung, sofern keine kundeneigenen DNS-Server verwendet werden.*.ntp.org
NTP-Zeitserver zur Synchronisation der Systemzeit, sofern keine kundeneigenen NTP-Server bereitgestellt werden.
Windows und Google Chrome
*.windowsupdate.com / *.microsoft.com
Microsoft-Dienste für Windows-Betriebssystem- und Sicherheitsupdates.*.google.com / *.googleapis.com / *.gvt1.com
Google-Dienste für den Betrieb und die Aktualisierung von Google Chrome.
Microsoft 365 / Graph API
login.microsoftonline.com
Microsoft OAuth2-Authentifizierung und Tokenbereitstellung.graph.microsoft.com
Microsoft Graph API, beispielsweise für Raumkalender, Raumbuchung, E-Mail- oder Microsoft-365-Integrationen.
Netzwerkfreigaben
Sofern DNS, NTP oder andere Infrastrukturservices durch das Kundennetz bereitgestellt werden, sind die entsprechenden externen Freigaben nicht erforderlich.
Ports & Protocols
NDPro kommuniziert direkt mit angebundenen Geräten und Systemen über standardisierte Netzwerkprotokolle und herstellerspezifische Schnittstellen. Die folgende Übersicht zeigt die von NDPro ausgehend verwendeten Ports für die Gerätekommunikation.
TCP/UDP Ports
Port | Protokoll | Hersteller |
|---|---|---|
22 | TCP/SSH | Various |
23 | TCP/Telnet | Various |
45 | TCP | Sennheiser |
80 | TCP/HTTP/WS | Various |
100 | TCP | Exsys |
443 | TCP/HTTPS/WSS | Various |
445 | TCP/HTTPS | Cisco |
502 | TCP/Modbus TCP | NDPro |
587 | TCP/SMTP | NDPro |
1400 | TCP/UPnP | Sonos |
1515 | TCP/MDC | Samsung |
1710 | TCP | Q-SYS |
1986 | TCP | Vestel, Toshiba |
2202 | TCP | Shure |
3535 | TCP/HTTP | ProDVX |
3629 | TCP/ESC/VP.net | Epson |
4001 | TCP | NDPro |
4003 | TCP | Barco |
4352 | TCP/PJLink | Panasonic, Sony |
4660 | TCP | BenQ |
4664 | TCP | Clevertouch |
5000 | TCP | Crestron, iiyama, Philips |
5200 | TCP | NovaStar |
6107 | TCP | Lightware |
6688 | TCP | i3 |
7078 | TCP | P5 Automation |
7142 | TCP | NEC, Sharp |
8001 | TCP | NovaStar |
8002 | TCP/HTTPS/WSS | Samsung |
8003 | TCP | Cisco |
8006 | TCP/HTTPS | Proxmox |
8080 | TCP/HTTP | ZeeVee |
8374 | TCP | Fohhn |
8890 | TCP | Televic |
9006 / 49160 | TCP | Humax |
9090 | TCP | Barco |
9990 | TCP | Blackmagic Design |
10008 | TCP | Sharp |
10600 / 10606 | TCP | Analog Way |
11000 | TCP | Bluesound |
27182 | TCP | Sedna |
49280 | TCP | Yamaha |
50000 | TCP | Yamaha |
50915 | TCP | WolfVision |
9 | UDP/Wake-on-LAN | Various |
161 | UDP/SNMP | Various |
3671 | UDP/KNXnet/IP | Various |
5000 | UDP | BrightSign |
6000 | UDP | NovaStar |
6454 | UDP/Art-Net | Various |
8600 | UDP | Expromo |
8711 | UDP | Audac |
9910 | UDP | Blackmagic Design |
47808 | UDP/BACnet/IP | Various |
52381 | UDP/VISCA over IP | Aver |