설치 — 선택부터 검증까지
PlantPulse Edge 설치는 먼저 배포 모드를 고르는 일부터 시작합니다.
2026.05 이후 신규 설치의 표준은 단일 Docker 컨테이너 + install.sh 입니다.
기존 native 설치 문서는 남겨두되, 새 박스에는 기본으로 권장하지 않습니다.
native 와 컨테이너를 섞지 마세요
컨테이너 모드는 plantpulse-edge.service, legacy native 모드는
plantpulse.service 를 사용합니다. 한 박스에서 두 서비스를 동시에 띄우면
80/443/1880/9042 같은 포트와 데이터 경로가 충돌합니다.
1. 어떤 설치를 선택할까
| 상황 | 선택 | 이유 |
|---|---|---|
| 현장 단일 게이트웨이, 인터넷 가능 | 빠른 설치 (install.sh) | OS 패키지, Docker, sysctl, firewall, chrony, SSL, systemd, 이미지 pull 을 한 번에 처리 |
| 양산 라인에서 100대 이상 반복 설치 | 양산 라인 (factory.sh) | EDGE_ID/hostname/자격증명/라벨/인벤토리까지 prompt-driven 처리 |
| 인터넷 차단, 보안 사이트, USB 반입 | 오프라인 / 폐쇄망 설치 | install bundle 과 container image tar.zst 를 외부에서 준비 |
| VMware / Hyper-V / KVM / 클라우드 VM | VM / 클라우드 설치 | 기본은 install.sh, VM 네트워크와 리소스 차이만 보정 |
| PLC 망 / WAN 망 / VLAN 설계가 먼저 필요 | 네트워크 구성 가이드 | NIC 역할, static IP, routing, firewall 사전 정리 |
| 설치 완료 후 운영팀 인수 기준이 필요 | 프로덕션 인수 기준 | health, 백업, 재시작, 보안, 증거 파일까지 Go/No-Go 판단 |
| 2026.05 미만 native 박스 유지보수 | (legacy) H/W 전체 설치 | 예전 tools/setup.sh 기반 native 설치 절차 보존 |
새 H/W 라도 먼저 빠른 설치를 봅니다
예전 문서의 tools/setup.sh 는 native 시대의 전체 설치 도구입니다.
2026.05+ 신규 박스는 Linux 부팅 후 빠른 설치를 기준으로 진행하고,
NIC static 설정이 필요하면 LAN1_* / LAN2_* env 로 install.sh 에 넘깁니다.
2. 표준 설치가 하는 일
빠른 설치의 install.sh 는 idempotent 하게 다음 항목을 정렬합니다.
| 영역 | 처리 내용 |
|---|---|
| OS 준비 | 필수 패키지, Docker, chrony, firewall, sysctl/limits |
| 네트워크 | 선택적 nmcli static IP 설정, WAN/PLC NIC env override |
| 보안 | 박스별 random admin/MQTT/OPC-UA/API key, CERT_PASS 기반 TLS material |
| 런타임 | /etc/kopens/app.properties, /data1/pp-data, container image pull/load |
| systemd | plantpulse-edge.service, OTA path/service, host action path/service |
| 검증 | /api/v1/system/version, /api/v1/system/health, tool-based status check |
설치 후 초기 자격증명은 /etc/kopens/credentials.txt 에 1회 저장됩니다.
이 파일은 root 전용으로 보관하고 출하/인수 시 안전하게 전달하세요.
3. 설치 전 확인
| 항목 | 기준 |
|---|---|
| OS | Linux. RHEL/Fedora/Rocky/CentOS 계열 권장, VM 도 가능 |
| 권한 | root 또는 sudo -i |
| 네트워크 | product.kopens.io / product.kopens.io 도달 가능 |
| 디스크 | /opt/kopens 3GB+, /data1 데이터용 100GB+ 권장 |
| 메모리 | 8GB 최소, 16GB 이상 권장 |
| 운영 모드 | 신규 운영/양산은 컨테이너 모드. legacy native 는 기존 박스 유지보수용 |
폐쇄망이면 인터넷 확인 대신 오프라인 / 폐쇄망 설치에서 bundle 과 image tar.zst 를 준비합니다.
4. 표준 설치 요약
sudo -i
curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh | bash
한 줄 실행을 선호하면:
sudo -i
bash < <(curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh)
자세한 옵션, env override, 예상 출력은 빠른 설치를 봅니다.
5. 설치 후 정상 기준
# 한 줄 상태 점검
sudo bash /opt/kopens/install/bin/status.sh
# 버전 / 컨테이너 모드 확인
curl -ks https://127.0.0.1/api/v1/system/version | python3 -m json.tool
# 전체 컴포넌트 health
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool
정상 기준:
plantpulse-edge.service가active/api/v1/system/version의container_mode=true/api/v1/system/healthHTTP 200, 주요 componentsUP- 프로덕션 인수 기준의 Go / No-Go 항목 통과
- 웹 UI:
https://<게이트웨이-IP>/ui/main - Node-RED:
https://<게이트웨이-IP>/ui/flow/
문제가 있으면 설치 트러블슈팅 또는 컨테이너 모드 운영 가이드를 먼저 확인합니다.
6. 다음 문서
- 빠른 설치 (
install.sh) - 도커(컨테이너) 설치 상세 — 이미지 좌표 /
docker run해부 / OTA - 네이티브 설치 (직접) — 컨테이너 없이 호스트 직접 설치 (dev/legacy)
- env 환경 설정 —
env.sh/PP_LANG/CERT_PASS/-Dpe.conf.dir - 양산 라인 (
factory.sh) - 오프라인 / 폐쇄망 설치
- VM / 클라우드 설치
- 네트워크 구성 가이드
- 설치 직후 체크리스트
- 프로덕션 인수 기준
- 설치 트러블슈팅
- 컨테이너 모드 운영 가이드
- (legacy) H/W 전체 설치 (
tools/setup.sh)