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.
For native boxes earlier than 2026.05, see the native section below. New installations default to container mode.
1. One-Minute Health Check
Container Mode (2026.05+, recommended)
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
| Step | Action |
|---|---|
| 1 | Open https://<gateway-ip>/ui/main in browser |
| 2 | Login screen → Initial account (admin / <initial-password>) |
| 3 | Top-right gear icon → Settings (/ui/system/config) |
| 4 | Enter new password in edge.admin_password → Save |
| 5 | Restart — 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:
| Card | Recommended Format | Example |
|---|---|---|
| Edge ID | EDGE_<4-digits> or site convention | EDGE_00303 |
| Deployment Site ID | SITE_<5-digits> or <line>_<location> | SITE_00001 / LINE_01_DJ |
If values are incorrect:
| Mode | Configuration Source | Applied |
|---|---|---|
| Container | /etc/kopens/app.properties or UI Settings | sudo systemctl restart plantpulse-edge.service |
| legacy native | $PE_HOME/conf/app.properties or UI Settings | bin/restart.sh |
For multiple gateways on the same site,
edge.idmust be unique — prevents Sparkplug bdSeq collision.
4. External Network / Platform Reachability
Check 5 home cards simultaneously:
| Card | Normal |
|---|---|
| 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:
| Step | Action |
|---|---|
| 1 | Prepare external plantpulse-simulator or test tag |
| 2 | Home → Add Protocol Connection → select actual protocol card |
| 3 | Register test OPC / tag |
| 4 | Start collection in /ui/connect/list |
| 5 | Verify 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 Connection → PLC 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:
| Scenario | Recommendation |
|---|---|
| Single operator | Use default admin only, change password only |
| Multi-user / external partners | Activate 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
- Home Screen Cards / Actions Guide — meaning of 30 cards
- Add New PLC Connection
- Register Tags + PLC Address Input (Complete Guide for 44 Drivers)
- Sparkplug B Publishing — for external SCADA integration
- Flows (Node-RED) — automation / alarms / external integration
- 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.shOK; if native, verifybin/ps.sh5 Java / Node processes -
/api/v1/system/versionHTTP 200 + returns intendededge_id/site_id/container_mode -
/api/v1/system/healthHTTP 200 + components UP - Generate + record sha256 of Production Readiness Criteria acceptance log
-
/api/v1/monitoringHTTP 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/opcuatree - Register 1 actual PLC → collection status 🟢 normal + last value updates
- After container
systemctl restart plantpulse-edge.serviceor nativebin/restart.sh, PLC reconnects automatically (auto_collect=true) - Backup cron registered + first backup file/directory created
- Copy first backup
.tar.zstand.sha256to external backup location - External SCADA / Sparkplug receiver confirms message arrival
- Password change complete (change default admin password)
-
/etc/kopens/credentials.txtpermission0600 rootverified + password handoff procedure completed - Monitor 30 seconds with log-viewer — no
SEVERE/ERRORlevel 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
- Installation at a glance: Installation — At a Glance
- Quick install: Quick Install (One-liner)
- legacy native H/W setup: (legacy) Full H/W Installation
- Air-gapped network: Offline / Air-Gapped Installation
- Network topology: Network Configuration (NIC Layout)
- Production readiness: Production Readiness Criteria
- Operations / scenarios: Operations — At a Glance