Skip to main content

Startup (start.sh / start-daemon.sh)

Legacy native page

This page applies only to native deployment boxes prior to 2026.05. For container-mode (2026.05+) boxes, systemctl start plantpulse-edge.service — the entrypoint calls the internal start.sh. See the container mode operations guide.

1. start.sh — Booting the Full Stack

$PE_HOME/bin/start.sh

Execution order:

StepComponentCheck point
1Docker daemon (started if not running — existing containers preserved)docker ps
2Redis (cache, port 6379)nc -z 127.0.0.1 6379
3HiveMQ (MQTT, 1883)nc -z 127.0.0.1 1883
4Cassandra (9042)$PE_HOME/bin/node-info.sh
5timeseries-engine (7800)nc -z 127.0.0.1 7800
6timeseries-dashboard / Grafana (3000)nc -z 127.0.0.1 3000
7Tomcat (server — 80/443)curl -ks https://127.0.0.1/api/v1/system/ready
8Node-RED (/ui/flow, 1880)nc -z 127.0.0.1 1880
9(background) Cassandra nodetool cleanup

Example of normal output (abridged):

--------------------------------------------------------------------
PLANTPULSE EDGE START ...
--------------------------------------------------------------------
[1] CACHE START ... redis ready (1s)
[2] MQTT START ... mqtt ready (13s)
[3] DATABASE START ... cassandra ready (23s)
[4] TIMESERIES ENGINE START ... timeseries-engine ready (10s)
[5] TIMESERIES DASHBOARD START ... grafana ready (1s)
[6] SERVER START ... tomcat ready (10s)
[7] FLOW TOOL START ... [NODE-RED] ready (port 1880)
--------------------------------------------------------------------
START COMPLETED [108 SEC]
--------------------------------------------------------------------

Takes ~90–120 seconds. If START COMPLETED is printed at the end, the startup is normal.

OptionDescription
(none)Boots everything in the order above
Environment variable PE_SKIP_DOCKER=1Skips the Docker step (reduces load when it is already running)

2. start-daemon.sh — Background Startup

$PE_HOME/bin/start-daemon.sh

Runs start.sh in the background via nohup ... &. The startup continues even if the ssh session drops. Call this from automation such as a systemd unit / cron @reboot at OS boot.


3. Common Pitfalls

SymptomCause / Resolution
Stalls at [4] DB START ...Cassandra is replaying the commitlog — normally a wait of 30 seconds or more. It is OK if Listening for thrift clients appears in the log (db/logs/system.log)
curl ... refused after [7] SERVER STARTTomcat does not listen for 1–2 seconds right after startup — wait briefly. If it still does not come up, search for SEVERE in catalina.out
Node-RED does not start/data1/pp-data/node-red/.config.users.json may be corrupted. Check Error loading flows in the log (node/log/node-red.log)
All Docker containers reset(Older versions) start.sh performed a systemctl restart docker. It now skips if already running — if your environment still resets, use PE_SKIP_DOCKER=1

4. Verification

$PE_HOME/bin/ps.sh # 모든 컴포넌트 살아있는지
curl -s http://127.0.0.1/api/v1/edge | jq # 엣지 식별/버전
curl -s http://127.0.0.1/ui/opcua/tree | jq '.data.tree | length' # 사이트/태그 정상

5. Learn More