Systemumgebung

Technische Voraussetzungen und empfohlene Systemkonfigurationen für den Betrieb von NDPro.

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.