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 Internetzugriffe:
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 (z. B. 8.8.8.8 / 8.8.4.4).
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.