Zum Hauptinhalt springen

Schnellinstallation — Container-Standard 2026.05+

Diese Seite beschreibt das Standardvorgehen für die Installation eines einzelnen Gateways Vor-Ort. PlantPulse Edge wird ab 2026.05 als einzelnes Docker-Container-Image ausgeliefert; install.sh erledigt dabei alles von den OS-Abhängigkeiten bis zur systemd-Registrierung in einem Durchgang.

Ergebnis dieses Vorgehens

Nach Abschluss der Installation verwaltet plantpulse-edge.service den Container. Ein paralleler Betrieb mit dem Legacy-Native-Dienst plantpulse.service ist nicht vorgesehen.


0. Auf einen Blick

sudo -i
curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh | bash

Die Installation dauert einschließlich Image-Pull üblicherweise 5–15 Minuten. Bei langsamer Leitung oder wenn Docker erstmalig installiert werden muss, kann es länger dauern.


1. Eine Minute Prüfung vor der Installation

# Linux / 권한
uname -a
id

# 외부 다운로드 도달성
curl -I https://product.kopens.io/plantpulse-edge/install.sh

# 디스크 / 메모리
df -h /opt /data1 2>/dev/null || df -h /opt
free -h
PunktKriterium
Berechtigungroot (sudo -i)
NetzwerkHTTPS-Erreichbarkeit über product.kopens.io
Festplatte/opt/kopens 3 GB+, /data1 für Daten 100 GB+ empfohlen
Arbeitsspeicher8 GB Minimum, 16 GB oder mehr empfohlen
Bestehende Diensteplantpulse.service / plantpulse-edge.service dürfen nicht gleichzeitig active sein

Die vor der Installation vom Betriebsteam freizugebenden Werte werden gemäß Produktions-Abnahmekriterien zusammengestellt.

Auch ohne vorhandenes Java/Docker zuerst dieses Vorgehen versuchen

install.sh installiert und konfiguriert Docker, OS-Pakete, sysctl, firewall und chrony. Falls die Paketinstallation durch interne Richtlinien blockiert ist, fordern Sie eine Freigabe beim Security-Team/der IT an oder wechseln Sie zur Offline-Installation.


2. Installation ausführen

Empfohlen: Installations-Bundle herunterladen und dann ausführen

sudo -i
curl -fsSLO https://product.kopens.io/plantpulse-edge/plantpulse-edge-docker.tar.gz
mkdir -p /opt/kopens/plantpulse-edge-docker
tar xzf plantpulse-edge-docker.tar.gz -C /opt/kopens/plantpulse-edge-docker --strip-components=1
cd /opt/kopens/plantpulse-edge-docker/bin
bash install.sh

Beim Bundle-Verfahren bleiben die Installationsdateien erhalten, was Fehleranalyse und erneute Ausführung erleichtert.

Betriebsskripte liegen nach der Installation an festen Pfaden

Unabhängig davon, wohin Sie das Bundle entpackt haben, kopiert install.sh Betriebsskripte wie status.sh · health.sh · upgrade.sh nach /opt/kopens/install/bin/. Deshalb verweist die weitere Dokumentation auf /opt/kopens/install/bin/… — Sie müssen sich den Entpackort des Bundles nicht merken.

Alternative: One-Line-Ausführung

sudo -i
bash < <(curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh)

3. Site- und Netzwerkwerte festlegen

Eine Installation mit den Standardwerten ist möglich, bei der Auslieferung Vor-Ort werden jedoch üblicherweise die folgenden env-Variablen explizit gesetzt.

sudo -i
cd /opt/kopens/install

EDGE_ID=EDGE_00303 \
SITE_ID=SITE_00001 \
SERVER_HOST=192.168.0.41 \
SERVER_API_KEY='<platform-api-key>' \
LAN1_IFACE=enp1s0 \
LAN1_IP=192.168.100.10/24 \
LAN2_IFACE=enp2s0 \
LAN2_IP=192.168.0.10/24 \
LAN2_GATEWAY=192.168.0.1 \
LAN2_DNS=192.168.0.1 \
bash install.sh

Häufig verwendete env-Variablen:

VariableBedeutung
EDGE_IDGateway-ID. Beispiel: EDGE_00303
SITE_IDSite-ID. Beispiel: SITE_00001
SERVER_HOST / SERVER_API_KEYAngaben zur Anbindung an die Platform-API
LAN1_IFACE / LAN1_IPNIC des PLC-Netzes und statische IP
LAN2_IFACE / LAN2_IP / LAN2_GATEWAY / LAN2_DNSNIC und Routing für WAN/externes Netz
ADMIN_PASS / API_KEY / MQTT_PASS / OPCUA_PASSOverride mit den vom Betriebsteam festgelegten Initial-Zugangsdaten
CERT_PASSPasswort des TLS-Keystores. Als offizieller cert password key wird ausschließlich dieser verwendet
IMAGE_TAGFestlegung eines bestimmten Container-Image-Tags
SKIP_PULL=1Für Air-Gap-Netzwerke oder erneute Ausführung, wenn das Image bereits lokal geladen wurde

Damit Passwörter und API-Keys nicht in der Shell-History landen, verwenden Sie das Muster secret-safe Installations-env. Legen Sie auch die vom Betriebsteam vorgegebenen Passwörter in einer root-Datei mit 0600 ab, sourcen Sie diese und führen Sie anschließend install.sh aus.


4. Normale Ausgabe während der Installation

Das Beispiel unterscheidet sich je nach Version leicht, der Ablauf ist jedoch identisch.

[install] prepare directories ... OK
[install] install packages / docker ... OK
[install] configure sysctl / firewall / chrony ... OK
[install] generate TLS material ... OK
[install] write /etc/kopens/app.properties ... OK
[install] docker pull docker.kopens.io/pe/plantpulse-edge:<tag> ... OK
[install] install systemd unit plantpulse-edge.service ... OK
[install] start service ... OK
[install] health probe /api/v1/system/health ... OK
INSTALL COMPLETED.

Bei der Erstinstallation werden admin-, MQTT-, OPC-UA- und API-Key zufällig pro Box erzeugt und in /etc/kopens/credentials.txt gespeichert. Verwalten Sie diese Datei mit chmod 0600 root.


5. Verifizierung nach der Installation

# service 상태
systemctl is-active plantpulse-edge.service
systemctl status plantpulse-edge.service --no-pager

# 설치 도구의 한 줄 점검
sudo bash /opt/kopens/install/bin/status.sh

# version: container_mode=true 여야 함
curl -ks https://127.0.0.1/api/v1/system/version | python3 -m json.tool

# health: HTTP 200 + components UP
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool

Browser:

AnsichtURL
Web-UIhttps://<gateway-ip>/ui/main
Node-REDhttps://<gateway-ip>/ui/flow/
Swagger UIhttps://<gateway-ip>/public/swagger-ui/index.html

Das Initialpasswort für die Anmeldung finden Sie im admin-Eintrag in /etc/kopens/credentials.txt. Fahren Sie unmittelbar nach der Installation mit der Checkliste direkt nach der Installation und den Produktions-Abnahmekriterien fort.

Abnahmenachweise sichern

Vor der Abnahme Vor-Ort sind reproduzierbare Textnachweise wichtiger als Screenshots der Health-Ansicht.

sudo bash /opt/kopens/install/bin/health.sh
sudo bash /opt/kopens/install/bin/status.sh > /root/pp-edge-status-$(date +%Y%m%d-%H%M%S).txt

Für das vollständige Acceptance-Log verwenden Sie die Befehle unter Abnahmenachweise erfassen.


6. Häufige Stolperfallen

SymptomUrsache / Abhilfe
Could not resolve host: product.kopens.ioDNS oder interne Firewall. DNS, proxy und Allow-List prüfen. Falls erfolglos: Offline-Installation
curl: (7) Failed to connectOutbound 443 blockiert oder proxy erforderlich. Nach Konfiguration von HTTPS_PROXY erneut versuchen
No space left on deviceZu wenig freier Platz auf /opt oder /data1. df -h prüfen und Speicherplatz freigeben
docker pull dauert langeDer erste Image-Pull umfasst mehrere GB. Bei langsamer Leitung auch den Import des image tar.zst gemäß Air-Gap-Verfahren erwägen
plantpulse.service ebenfalls activeKonflikt mit Legacy-Native. Im neuen Container-Betrieb den Native-Dienst stoppen/deaktivieren
Kein Webzugriff nach abgeschlossener InstallationZunächst curl -ks https://127.0.0.1/api/v1/system/health direkt auf dem Gateway prüfen. Ist die interne Prüfung OK, liegt ein externes Firewall-/NAT-Problem vor
ZertifikatswarnungBei self-signed Zertifikaten ist eine Browserwarnung beim ersten Zugriff normal. Die Richtlinie zur Verteilung von Betriebs-CA-Zertifikaten richtet sich nach den Sicherheitsvorgaben Vor-Ort
health liefert 503journalctl -u plantpulse-edge.service -n 100 und docker logs plantpulse-edge prüfen

Detailliertere Maßnahmen je Symptom finden Sie unter Installations-Troubleshooting.


7. Nächste Schritte

  1. Checkliste direkt nach der Installation — health, erste Anmeldung, Prüfung von Site-/Edge-ID
  2. Produktions-Abnahmekriterien — Neustart, Backup, Nachweisdateien, Security-Hardening
  3. Neue PLC-Verbindung hinzufügen
  4. Tag registrieren
  5. Betrieb — Container-Modus
  6. Backup / Wiederherstellung