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.
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
| Punkt | Kriterium |
|---|---|
| Berechtigung | root (sudo -i) |
| Netzwerk | HTTPS-Erreichbarkeit über product.kopens.io |
| Festplatte | /opt/kopens 3 GB+, /data1 für Daten 100 GB+ empfohlen |
| Arbeitsspeicher | 8 GB Minimum, 16 GB oder mehr empfohlen |
| Bestehende Dienste | plantpulse.service / plantpulse-edge.service dürfen nicht gleichzeitig active sein |
Die vor der Installation vom Betriebsteam freizugebenden Werte werden gemäß Produktions-Abnahmekriterien zusammengestellt.
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.
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:
| Variable | Bedeutung |
|---|---|
EDGE_ID | Gateway-ID. Beispiel: EDGE_00303 |
SITE_ID | Site-ID. Beispiel: SITE_00001 |
SERVER_HOST / SERVER_API_KEY | Angaben zur Anbindung an die Platform-API |
LAN1_IFACE / LAN1_IP | NIC des PLC-Netzes und statische IP |
LAN2_IFACE / LAN2_IP / LAN2_GATEWAY / LAN2_DNS | NIC und Routing für WAN/externes Netz |
ADMIN_PASS / API_KEY / MQTT_PASS / OPCUA_PASS | Override mit den vom Betriebsteam festgelegten Initial-Zugangsdaten |
CERT_PASS | Passwort des TLS-Keystores. Als offizieller cert password key wird ausschließlich dieser verwendet |
IMAGE_TAG | Festlegung eines bestimmten Container-Image-Tags |
SKIP_PULL=1 | Fü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:
| Ansicht | URL |
|---|---|
| Web-UI | https://<gateway-ip>/ui/main |
| Node-RED | https://<gateway-ip>/ui/flow/ |
| Swagger UI | https://<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
| Symptom | Ursache / Abhilfe |
|---|---|
Could not resolve host: product.kopens.io | DNS oder interne Firewall. DNS, proxy und Allow-List prüfen. Falls erfolglos: Offline-Installation |
curl: (7) Failed to connect | Outbound 443 blockiert oder proxy erforderlich. Nach Konfiguration von HTTPS_PROXY erneut versuchen |
No space left on device | Zu wenig freier Platz auf /opt oder /data1. df -h prüfen und Speicherplatz freigeben |
docker pull dauert lange | Der 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 active | Konflikt mit Legacy-Native. Im neuen Container-Betrieb den Native-Dienst stoppen/deaktivieren |
| Kein Webzugriff nach abgeschlossener Installation | Zunä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 |
| Zertifikatswarnung | Bei 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 503 | journalctl -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
- Checkliste direkt nach der Installation — health, erste Anmeldung, Prüfung von Site-/Edge-ID
- Produktions-Abnahmekriterien — Neustart, Backup, Nachweisdateien, Security-Hardening
- Neue PLC-Verbindung hinzufügen
- Tag registrieren
- Betrieb — Container-Modus
- Backup / Wiederherstellung