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:
| Step | Component | Check point |
|---|---|---|
| 1 | Docker daemon (started if not running — existing containers preserved) | docker ps |
| 2 | Redis (cache, port 6379) | nc -z 127.0.0.1 6379 |
| 3 | HiveMQ (MQTT, 1883) | nc -z 127.0.0.1 1883 |
| 4 | Cassandra (9042) | $PE_HOME/bin/node-info.sh |
| 5 | timeseries-engine (7800) | nc -z 127.0.0.1 7800 |
| 6 | timeseries-dashboard / Grafana (3000) | nc -z 127.0.0.1 3000 |
| 7 | Tomcat (server — 80/443) | curl -ks https://127.0.0.1/api/v1/system/ready |
| 8 | Node-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.
| Option | Description |
|---|---|
| (none) | Boots everything in the order above |
Environment variable PE_SKIP_DOCKER=1 | Skips 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
| Symptom | Cause / 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 START | Tomcat 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
- Shutdown: Stop (
stop.sh) - Quick restart: Restart (
restart.sh) - Scenarios — procedure after a power outage / OS reboot: Operating scenarios