Zum Hauptinhalt springen

One-Line-Installation (empfohlen)

Überblick

Die schnellste Methode zur Installation der PlantPulse-Plattform in einer einzigen Befehlszeile. Das Installationsskript wird vom Download-Server abgerufen und führt automatisch die OS-Einrichtung, Docker-Installation, Firewall-Konfiguration und den Start des Docker Compose-Stacks durch.

Wann verwenden Sie diese Methode? Diese ist geeignet, wenn Sie in einer Standardumgebung (Oracle Linux 8 / RHEL 9 / Ubuntu 20.04+ / Amazon Linux 2023) mit Standardkonfiguration schnell installieren möchten. Für Produktionsumgebungen, in denen Sie die Konfiguration Schritt für Schritt überprüfen müssen, empfehlen wir die manuelle Installationsprozedur auf der Seite Docker-Installation.

Installationsmodus wählen

Entscheiden Sie vor der Installation zunächst, welche Konfiguration Sie verwenden möchten.

KonfigurationAnzahl ServerEmpfohlen fürAnleitung
Single Box (FULL) — Standard1 Server (empfohlen 256 GB, mindestens 128 GB)Standardkonfiguration. Folgen Sie genau dieser AnleitungDiese Seite
2-Node-Aufteilung (DATALAKE/APP)2 Server (64 GB + 48 GB)Wenn der RAM eines einzelnen Servers begrenzt ist oder Sie Datenlast und Konsole trennen möchten2-Node-Split-Installation
Air-Gap-NetzwerkUmgebung ohne InternetverbindungDocker-Installation - Air-Gap-Abschnitt

Die folgende Anleitung ist für Single Box (FULL) ausgerichtet. Die Installation erfolgt standardmäßig als FULL, wenn keine Umgebungsvariablen gesetzt werden.

Unterstützte Umgebungen

OSVersion
Oracle Linux8.x
RHEL / Rocky Linux8.x, 9.x
Ubuntu20.04+ (20 / 22 / 24)
Amazon Linux2, 2023

Voraussetzungen

  • Server mit Internetverbindung (Zugriff auf Download-Server product.kopens.io erforderlich)
  • root-Berechtigung
  • Mindestens 16 vCPU / 64 GB RAM / 200 GB Speicher (Standard: 32 vCPU / 128 GB RAM · Für Betrieb empfohlen: 256 GB RAM)

Die One-Line-Installation ist in Air-Gap-Netzwerk-Umgebungen nicht möglich. Beachten Sie die Air-Gap-Installationsprozedur auf der Seite Docker-Installation.

Installation ausführen

Verbinden Sie sich per SSH mit dem Server und führen Sie den folgenden Befehl aus.

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

Das Skript führt automatisch folgende Schritte aus:

  1. OS-Automatische Erkennung (RHEL/Rocky/Oracle 8·9, Ubuntu 20+, Amazon Linux)
  2. Installation und Daemon-Konfiguration von Docker Engine + Compose v2 (data-root)
  3. Kernel- und Ressourcen-Tuning (limits.conf, sysctl.conf, chrony.conf, tmpfiles.d)
  4. SELinux-Umschaltung auf permissive und Deaktivierung von Swap
  5. Automatisches Öffnen von Firewall-Ports — öffentliche Ports (80/443/7443/4949/4950) und Ports mit privater Netzwerkbeschränkung
  6. Erstellung eines Service-Credential-Sidecars (/etc/kopens/plantpulse-platform.env)
  7. Anmeldung bei der Container-Registry (docker.kopens.io)
  8. Erstellung von Docker-Netzwerken und -Volumes, dann Start des Compose-Stacks
Was wird ausgeführt

Nach Abschluss der Installation werden neun Container definiert, von denen acht dauerhaft laufen — Infrastruktur (plantpulse-datalake), sechs App-Container (plantpulse-server-web · plantpulse-batch-web · plantpulse-warehouse · plantpulse-plugin-opcua-server · plantpulse-plugin-aasx-server · plantpulse-ha), Edge (plantpulse-proxy). Der verbleibende Container (plantpulse-certs) ist ein One-Shot, der TLS-Materialien generiert und beendet wird — es ist normal, dass Exited (0) anzeigt.

Ausführliche Konfigurationsdetails finden Sie unter Docker-Installation — Stack-Struktur.

Das Installationsskript führt nach dem Start des Stacks Polling durch, bis alles bereit ist. Die Containerinitialisierung selbst dauert 3–5 Minuten (JVM-Warmup), aber bei einer Neuinstallation dauert es 15–18 Minuten, bis alle Komponenten stabil laufen, da Cassandra-Schemamigration und Stabilisierung erforderlich sind. Ein Neustart ist deutlich schneller, da das Schema bereits vorhanden ist.

Installationsoptionen

# Docker가 이미 설치된 경우 OS 셋업 단계 생략
curl -fsSL https://product.kopens.io/plantpulse-platform/install.sh | bash -s -- --skip-os
OptionAuswirkung
--skip-osOS-Einrichtung und Docker-Installation überspringen (falls Docker bereits installiert ist)

Hinweis: Bei der One-Line-Installation wird die Registry-Authentifizierung automatisch konfiguriert, daher ist keine separate docker login erforderlich. Um die Firewall zu überspringen (SKIP_FW=1), die Registry-Anmeldung zu überspringen (SKIP_LOGIN=1) oder den Docker-data-root-Pfad zu ändern (DOCKER_DATA_DIR, Standard /data1/docker-data), geben Sie Umgebungsvariablen an, wenn Sie bin/install.sh direkt auf dem Node ausführen → Docker-Installation

Installation überprüfen

Nach Abschluss der Installation überprüfen Sie den Status mit dem folgenden Befehl.

cd /opt/kopens/plantpulse-platform-docker/bin
./status.sh # 0 = 정상 / 2 = 비정상
./ops-check.sh

curl -kfsS https://<server-ip>:4950/api/health | jq # "status":"OK" 또는 "WARN" 이면 정상
docker ps # 여덟 개가 (healthy), plantpulse-certs 는 Exited (0)
Fehler, wenn docker ps ohne plantpulse-platform ist, ist kein Fehler

Diese Single-Container-Konfiguration ist veraltet. Die Container-Namen sind die oben genannten neun, und das alte Runbook docker logs plantpulse-platform funktioniert nicht mehr. Logs finden Sie unter ./logs.sh.

Wenn alles normal ist, greifen Sie in Ihrem Browser auf die Web-Konsole zu.

https://[서버IP] # 웹 콘솔 (80/443, plantpulse-proxy 가 받습니다)
https://[서버IP]:7443 # 관리 UI
https://[서버IP]:4950 # 모니터 UI
  • Standard-Admin-Konto: admin / admin123!
  • Ändern Sie das Passwort nach der Anmeldung. → Anfängliches Passwort

Umgebungsvariablen nach der Installation anpassen

Bei der One-Line-Installation werden Ressourcenwerte durch Abfrage des Hosts automatisch berechnet. Bei den meisten Servern gibt es nichts zu ändern. Sie müssen nur Werte anpassen, die nicht automatisch bestimmt werden können, wie z. B. Gebietsschema.

cd /opt/kopens/plantpulse-platform-docker/bin
vi env.sh
./restart.sh

Häufig angepasste Elemente:

VariableBeschreibungStandardwert
PP_LANGPlatform-Gebietsschema (ko / en)en — für koreanische Betriebsumgebungen ko
PP_TZPlatform-ZeitzoneAsia/Seoul
DOCKER_PP_CPUSAnzahl der vCPUs für Containernproc Ergebnis (automatisch)
DOCKER_PP_MEMORYSpeicherobergrenze90 % des Host-RAM (automatisch)
DOCKER_DATALAKE_MEMORYSpeicherobergrenze für Data Lake80G, bei kleinerem Host 90 % des RAM
DOCKER_PP_DATA_DISK_NAMEName der DatenfestplatteAutomatische Rückverfolgung (bei Fehler sda)
DOCKER_PP_EXTERNAL_IPExterne Advertise-IP in NAT-UmgebungLeerer Wert — leer lassen, wenn nicht hinter NAT
Füllen Sie DOCKER_PP_EXTERNAL_IP nicht leichtfertig aus

Dieser Wert wird in die SAN-Liste des TLS-Zertifikats aufgenommen. Wenn Sie eine ungültige IP eingeben, werden keine Zertifikate generiert und der Stack kann nicht starten.

Mehrsprachige Box: Das Standard-Gebietsschema ist en. Für koreanische Umgebungen ändern Sie es auf PP_LANG=ko und wenden es mit ./restart.sh an. Beachten Sie jedoch, dass Cassandra-Zeitreihendaten mit KST-Epoch erfasst werden. Für den Betrieb in Korea müssen Sie daher unbedingt Asia/Seoul beibehalten.

Die vollständige Liste der Umgebungsvariablen finden Sie unter Referenz zu Umgebungsvariablen.

Häufig verwendete Betriebsbefehle

cd /opt/kopens/plantpulse-platform-docker/bin

./preflight.sh # 설치 전 비파괴 사전 점검
./up.sh # 기동 — 준비될 때까지 대기 (0 = 준비 완료)
./down.sh # 정지 (상태 보존)
./restart.sh # graceful 재시작 (drain + 준비 대기)
./status.sh # 서비스 / health / 볼륨 요약 (0=정상 / 2=비정상)
./logs.sh [서비스] # 로그 보기 (1회 출력, -f 로 따라가기). 인자가 없으면 전체, 목록은 --list
./shell.sh [서비스] # 컨테이너 bash 진입 (인자 없으면 데이터레이크)
./ops-check.sh # 운영 health + 최근 critical log 점검
./update.sh # 이미지 갱신 (pull + recreate + 실패 시 rollback)
./remove.sh # 컨테이너 제거 (볼륨은 보존)
./doctor.sh # 장애 진단 tarball 생성

Alle Verben unterstützen --help. Alte Namen (stack-run.sh · stack-stop.sh · stack-bash.sh · stack-update.sh · stack-remove.sh) funktionieren auch weiterhin.

Fehlerbehebung

Fehler beim Ausführen des Download-Skripts

# 다운로드 서버 접근 가능 여부 확인
curl -fsSL https://product.kopens.io/plantpulse-platform/install.sh -o /tmp/install.sh
ls -al /tmp/install.sh

# 회사 방화벽 / 프록시로 차단된 경우 네트워크 관리자에게 도메인 허용 요청:
# product.kopens.io, docker.kopens.io

Container wechselt nicht in den Status „healthy"

Bestimmen Sie zunächst, welcher Container das Problem verursacht.

cd /opt/kopens/plantpulse-platform-docker/bin
./status.sh # 어떤 서비스가 비정상인가
./logs.sh --list # 볼 수 있는 서비스 목록
./logs.sh plantpulse-server-web -n 200 # 그 컨테이너의 로그

./doctor.sh # 진단 tarball 생성 후 기술 지원팀에 전달 (모든 컨테이너를 담습니다)

Es liegt wahrscheinlich ein Fehler bei der Cassandra-Schemamigration oder ein Berechtigungsproblem mit /data1/pp-data vor. Die detaillierte Anleitung finden Sie unter Docker-Installation — Stack startet nicht.

Weitere Fragen

Überprüfen Sie zunächst den Abschnitt „Fehlerbehebung" auf der Seite Docker-Installation. Falls das Problem nicht gelöst wird, kontaktieren Sie bitte webmaster@kopens.com.