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.
| Konfiguration | Anzahl Server | Empfohlen für | Anleitung |
|---|---|---|---|
| Single Box (FULL) — Standard | 1 Server (empfohlen 256 GB, mindestens 128 GB) | Standardkonfiguration. Folgen Sie genau dieser Anleitung | Diese 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öchten | 2-Node-Split-Installation |
| Air-Gap-Netzwerk | — | Umgebung ohne Internetverbindung | Docker-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
| OS | Version |
|---|---|
| Oracle Linux | 8.x |
| RHEL / Rocky Linux | 8.x, 9.x |
| Ubuntu | 20.04+ (20 / 22 / 24) |
| Amazon Linux | 2, 2023 |
Voraussetzungen
- Server mit Internetverbindung (Zugriff auf Download-Server
product.kopens.ioerforderlich) 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:
- OS-Automatische Erkennung (RHEL/Rocky/Oracle 8·9, Ubuntu 20+, Amazon Linux)
- Installation und Daemon-Konfiguration von Docker Engine + Compose v2 (data-root)
- Kernel- und Ressourcen-Tuning (
limits.conf,sysctl.conf,chrony.conf,tmpfiles.d) - SELinux-Umschaltung auf permissive und Deaktivierung von Swap
- Automatisches Öffnen von Firewall-Ports — öffentliche Ports (80/443/7443/4949/4950) und Ports mit privater Netzwerkbeschränkung
- Erstellung eines Service-Credential-Sidecars (
/etc/kopens/plantpulse-platform.env) - Anmeldung bei der Container-Registry (
docker.kopens.io) - Erstellung von Docker-Netzwerken und -Volumes, dann Start des Compose-Stacks
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
| Option | Auswirkung |
|---|---|
--skip-os | OS-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 loginerforderlich. 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 Siebin/install.shdirekt 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)
docker ps ohne plantpulse-platform ist, ist kein FehlerDiese 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:
| Variable | Beschreibung | Standardwert |
|---|---|---|
PP_LANG | Platform-Gebietsschema (ko / en) | en — für koreanische Betriebsumgebungen ko |
PP_TZ | Platform-Zeitzone | Asia/Seoul |
DOCKER_PP_CPUS | Anzahl der vCPUs für Container | nproc Ergebnis (automatisch) |
DOCKER_PP_MEMORY | Speicherobergrenze | 90 % des Host-RAM (automatisch) |
DOCKER_DATALAKE_MEMORY | Speicherobergrenze für Data Lake | 80G, bei kleinerem Host 90 % des RAM |
DOCKER_PP_DATA_DISK_NAME | Name der Datenfestplatte | Automatische Rückverfolgung (bei Fehler sda) |
DOCKER_PP_EXTERNAL_IP | Externe Advertise-IP in NAT-Umgebung | Leerer Wert — leer lassen, wenn nicht hinter NAT |
DOCKER_PP_EXTERNAL_IP nicht leichtfertig ausDieser 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 aufPP_LANG=kound wenden es mit./restart.shan. Beachten Sie jedoch, dass Cassandra-Zeitreihendaten mit KST-Epoch erfasst werden. Für den Betrieb in Korea müssen Sie daher unbedingtAsia/Seoulbeibehalten.
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.