One-Line-Installation (empfohlen)
Die Standardprozedur für die Installation eines Gateways vor Ort. Der Edge wird als einzelnes Docker-Container-Image bereitgestellt, und install.sh übernimmt alles von den OS-Abhängigkeiten bis zur systemd-Registrierung in einem Schritt.
Auch Upgrades laufen über diesen Weg — Laden Sie die neueste install.sh von product.kopens.io herunter und führen Sie sie erneut aus (idempotent). Details finden Sie unter Upgrade.
Nach der Installation verwaltet plantpulse-edge.service die Container.
0. Auf einen Blick
sudo -i
curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh | bash
Die Installation dauert in der Regel 5–15 Minuten, einschließlich des Image-Pulls. Bei langsamen Leitungen oder Boxen, die eine erste Docker-Installation benötigen, kann es länger dauern.
1. 1-Minuten-Check 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
| Element | Kriterium |
|---|---|
| Berechtigung | root (sudo -i) |
| Netzwerk | HTTPS-Erreichbarkeit zu product.kopens.io |
| Festplatte | /opt/kopens 3 GB+, /data1 für Daten 100 GB+ empfohlen |
| Speicher | 8 GB Minimum, 16 GB oder mehr empfohlen |
| Bestehende Dienste | Wenn plantpulse-edge.service bereits vorhanden ist, wird die Installation darüber aktualisiert |
Die vor der Installation vom Betriebsteam genehmigten Werte werden gemäß Produktionsabnahmekriterien zusammengestellt.
install.sh installiert/richtet Docker, OS-Pakete, sysctl, firewall, chrony ein.
Wenn Unternehmensrichtlinien Paketinstallationen blockieren, fordern Sie eine Freigabe vom Sicherheitsteam/IT an oder wechseln Sie zur Air-Gap-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
Die Bundle-Methode hinterlässt die Installationsdateien, was die Fehleranalyse und erneute Ausführung erleichtert.
Wo auch immer das Bundle entpackt wird, install.sh kopiert Betriebsskripte wie status.sh, health.sh und upgrade.sh nach /opt/kopens/install/bin/.
Aus diesem Grund verweisen spätere Dokumentationen auf /opt/kopens/install/bin/… — Sie müssen sich nicht merken, wo das Bundle entpackt wurde.
Alternative: One-Line-Ausführung
sudo -i
bash < <(curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh)
3. Standort-/Netzwerkwerte festlegen
Die Installation ist auch mit Standardwerten möglich, aber bei Vor-Ort-Lieferungen werden die folgenden Env-Variablen normalerweise 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>' \
NET1_IFACE=enp1s0 \
NET1_IP=192.168.100.10/24 \
NET2_IFACE=enp2s0 \
NET2_IP=192.168.0.10/24 \
NET2_GATEWAY=192.168.0.1 \
NET2_DNS=192.168.0.1 \
bash install.sh
Häufig verwendete Env-Variablen:
| Variable | Bedeutung |
|---|---|
EDGE_ID | Gateway-ID. z. B.: EDGE_00303 |
SITE_ID | Standort-ID. z. B.: SITE_00001 |
SERVER_HOST / SERVER_API_KEY | Informationen zur Plattform-API-Integration |
NET1_IFACE / NET1_IP | PLC-Netzwerk-NIC und statische IP |
NET2_IFACE / NET2_IP / NET2_GATEWAY / NET2_DNS | WAN/Externes Netzwerk-NIC und Routing |
ADMIN_PASS / API_KEY / MQTT_PASS / OPCUA_PASS | Override der vom Betriebsteam festgelegten Initialanmeldedaten |
CERT_PASS | Passwort für den TLS-Keystore. Für offizielle Zertifikatspasswort-Keys wird nur dieses verwendet |
IMAGE_TAG | Festlegen einer bestimmten Container-Image-Tag |
SKIP_PULL=1 | Für Air-Gap-/Wiederholungsfälle, in denen das Image bereits lokal geladen wurde |
Um Passwörter/API-Keys nicht im Shell-Verlauf zu hinterlassen, verwenden Sie das Muster Secret-sichere Installations-Env.
Legen Sie auch die vom Betriebsteam festgelegten Passwörter in einer root-0600-Datei ab, und führen Sie install.sh nach dem Sourcen aus.
4. Normale Ausgabe während der Installation
Das Beispiel kann je nach Version leicht variieren, aber der Ablauf ist derselbe.
[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/API-Keys zufällig pro Box generiert und in /etc/kopens/credentials.txt gespeichert. Verwalten Sie diese Datei mit chmod 0600 root.
5. Verifikation 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:
| Bildschirm | 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 initiale Login-Passwort finden Sie im admin-Eintrag der /etc/kopens/credentials.txt.
Direkt nach der Installation fahren Sie mit Inspektion direkt nach der Installation und Produktionsabnahmekriterien fort.
Abnahmenachweis hinterlassen
Vor der Vor-Ort-Abnahme sind reproduzierbare Textnachweise wichtiger als Screenshots des Health-Bildschirms.
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 gesamte Abnahme-Log verwenden Sie den Befehl Abnahmenachweis-Sammlung.
6. Häufig übersehene Stolperfallen
| Symptom | Ursache / Maßnahme |
|---|---|
Could not resolve host: product.kopens.io | DNS oder unternehmensinterne Firewall. DNS, Proxy, Allow-Liste prüfen. Falls nicht möglich: Air-Gap-Installation |
curl: (7) Failed to connect | Ausgehendes Port 443 blockiert oder Proxy erforderlich. HTTPS_PROXY konfigurieren und erneut versuchen |
No space left on device | Nicht genügend 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 der image.tar.zst über die Air-Gap-Prozedur in Betracht ziehen |
| Web-Zugriff nach Installation nicht möglich | Zuerst curl -ks https://127.0.0.1/api/v1/system/health innerhalb des Gateways prüfen. Wenn intern OK, dann Problem mit externer Firewall/NAT |
| Zertifikatswarnung | Bei selbstsignierten Zertifikaten ist eine Browserwarnung beim ersten Zugriff normal. Die Verteilung von Betriebs-CA-Zertifikaten folgt den Sicherheitsstandards vor Ort |
| Health liefert 503 | journalctl -u plantpulse-edge.service -n 100, docker logs plantpulse-edge prüfen |
Detailliertere Maßnahmen je Symptom finden Sie unter Installations-Fehlerbehebung.
7. Nächste Schritte
- Inspektion direkt nach der Installation — Health, erste Anmeldung, Site/Edge-ID prüfen
- Produktionsabnahmekriterien — Neustart, Backup, Nachweisdateien, Sicherheitssperre
- Neue PLC-Verbindung hinzufügen
- Tags registrieren
- Betrieb im Container-Modus
- Backup und Wiederherstellung