Skip to main content

Post-Installation Checklist + First-User Setup

Once installation (Quick Install, Factory Line, Offline Install) is complete, transition the gateway to ready for operation status in this order.

legacy native box

For native boxes earlier than 2026.05, see the native section below. New installations default to container mode.


1. One-Minute Health Check

sudo bash /opt/kopens/install/bin/status.sh
curl -ks https://127.0.0.1/api/v1/system/version | python3 -m json.tool
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool

Expected:

  • container running + healthy
  • 10 ports listening (80, 443, 1883, 1884, 6379, 7799, 9042, 1880, 12000, 12443)
  • /api/v1/system/version → build_date / image_tag / container_mode=true
  • /api/v1/system/health → 200, all components UP

If all items ✓ in pe-status, proceed to next section. If any ✗, see Container Mode Operations Guide "Troubleshooting" section or /opt/kopens/install/RUNBOOK.md.

Before production deployment, also record acceptance log from Production Readiness Criteria.

Native Mode (legacy)

sudo -i
PE_HOME=/opt/kopens/plantpulse-edge

# (1) 모든 컴포넌트 살아있나
$PE_HOME/bin/ps.sh

# (2) 시스템 헬스 (HTTP 200)
curl -sf http://127.0.0.1/api/v1/system/health | head

# (3) Cassandra 연결 가능 여부
$PE_HOME/bin/node-info.sh | head -5

# (4) MQTT 브로커 listen 중
ss -lntp 2>/dev/null | grep -E ':1883'

# (5) OPC-UA 서버 listen 중
ss -lntp 2>/dev/null | grep -E ':12000'

If all 5 items OK, move to next section. If any fail, see Diagnostics / Inspection → log-viewer to identify root cause.


2. First Login + Password Change

StepAction
1Open https://<gateway-ip>/ui/main in browser
2Login screen → Initial account (admin / <initial-password>)
3Top-right gear iconSettings (/ui/system/config)
4Enter new password in edge.admin_passwordSave
5Restart — saving alone does not apply the change

Initial password is stored in /etc/kopens/credentials.txt(root 0600). In production, leaving the default password is a security risk — change it within the first 30 minutes.

On the same screen, also change REST API key, MQTT, and OPC UA passwords together. Complete during commissioning— Password · API Key Change.


3. Site / Edge Identification Confirmation

Verify home card Edge ID / Deployment Site ID match intended values:

CardRecommended FormatExample
Edge IDEDGE_<4-digits> or site conventionEDGE_00303
Deployment Site IDSITE_<5-digits> or <line>_<location>SITE_00001 / LINE_01_DJ

If values are incorrect:

ModeConfiguration SourceApplied
Container/etc/kopens/app.properties or UI Settingssudo systemctl restart plantpulse-edge.service
legacy native$PE_HOME/conf/app.properties or UI Settingsbin/restart.sh

For multiple gateways on the same site, edge.id must be unique — prevents Sparkplug bdSeq collision.


4. External Network / Platform Reachability

Check 5 home cards simultaneously:

CardNormal
Internet🟢 Normal Connection
Ethernet 1 WAN🟢 Valid IP
Ethernet 2 PLC🟢 Valid IP (private network)
Platform API Server🟢 Connection Success
Docker🟢 Running

If Platform API shows 🔴 Connection Failed — inspect server.host / server.port / server.username in Settings + check internal firewall.


5. First PLC Connection + Validation

Simplest test first — external test data:

StepAction
1Prepare external plantpulse-simulator or test tag
2Home → Add Protocol Connection → select actual protocol card
3Register test OPC / tag
4Start collection in /ui/connect/list
5Verify value inflow in /ui/main or /ui/point

If all OK to here, gateway itself is 100% operational. For actual PLC connection, see Add New PLC ConnectionPLC Address Input Guide.


6. Automate Regular Backups

Before starting new gateway operation, register cron backup — reduces failure cost ↓.

Container Mode

sudo tee /etc/cron.d/plantpulse-edge-backup > /dev/null << 'EOF'
# 매일 새벽 3시 백업 + 일요일 새벽 4시 30일 초과 백업 삭제
0 3 * * * root /opt/kopens/install/bin/backup.sh > /dev/null 2>&1
0 4 * * 0 root find /data1/pp-backups -name 'pe-backup-*.tar.zst' -mtime +30 -delete
EOF

sudo bash /opt/kopens/install/bin/backup.sh
ls -lh /data1/pp-backups/

Legacy native

sudo tee /etc/cron.d/plantpulse-backup > /dev/null << 'EOF'
# 매일 새벽 1시 백업 + 30일 이상 자동 정리
0 1 * * * root /opt/kopens/plantpulse-edge/bin/backup.sh >>/var/log/pp-backup.log 2>&1
30 1 * * * root find /data1/pp-backup -maxdepth 1 -type d -mtime +30 -exec rm -rf {} +
EOF

After the next day at 1 AM, verify a new directory appears in ls /data1/pp-backup/.

Details: Backup / Recovery


7. External NAS / S3 Mirroring (Disaster Recovery)

If backups exist only on the same disk as the gateway, disaster recovery is ineffective. External mirroring strongly recommended:

# 컨테이너 백업 예시
LATEST=$(ls -t /data1/pp-backups/pe-backup-*.tar.zst | head -1)
rsync -av "$LATEST" "$LATEST.sha256" nas:/backup/edge/

8. (Optional) User / Permission Setup

If you need per-user accounts beyond default admin:

ScenarioRecommendation
Single operatorUse default admin only, change password only
Multi-user / external partnersActivate user management screen + role separation (admin / operator / viewer) — currently P0 roadmap

Multi-user RBAC planned for formal enablement next quarter.


9. Recommended Post-Installation Manual Reading Order

  1. Home Screen Cards / Actions Guide — meaning of 30 cards
  2. Add New PLC Connection
  3. Register Tags + PLC Address Input (Complete Guide for 44 Drivers)
  4. Sparkplug B Publishing — for external SCADA integration
  5. Flows (Node-RED) — automation / alarms / external integration
  6. Operations — At a Glance — start / stop / restart / backup / upgrade / diagnostics

10. Acceptance Test Checklist (for Deployment / SI Partners)

All items must pass at new site handover:

  • If container mode, all status.sh OK; if native, verify bin/ps.sh 5 Java / Node processes
  • /api/v1/system/version HTTP 200 + returns intended edge_id/site_id/container_mode
  • /api/v1/system/health HTTP 200 + components UP
  • Generate + record sha256 of Production Readiness Criteria acceptance log
  • /api/v1/monitoring HTTP 200 + cpu_used_percent < 30%, memory_used_percent < 60%
  • All 30 home cards display + 1-second refresh works
  • Register 1 simulator OPC → start → chart displays normally in /ui/opcua tree
  • Register 1 actual PLC → collection status 🟢 normal + last value updates
  • After container systemctl restart plantpulse-edge.service or native bin/restart.sh, PLC reconnects automatically (auto_collect=true)
  • Backup cron registered + first backup file/directory created
  • Copy first backup .tar.zst and .sha256 to external backup location
  • External SCADA / Sparkplug receiver confirms message arrival
  • Password change complete (change default admin password)
  • /etc/kopens/credentials.txt permission 0600 root verified + password handoff procedure completed
  • Monitor 30 seconds with log-viewer — no SEVERE / ERROR level logs
  • Disk free >30% (df -h /data1)
  • OS NTP sync (timedatectl) normal
  • Deliver gateway IP / access credentials to operations team + sign handover document

11. Learn More