본문으로 건너뛰기

시작

멈춰 있는 게이트웨이를 다시 띄웁니다. 데이터(/data1) · 설정(/etc/kopens) · 이미지는 그대로 두고 컨테이너만 올립니다.

sudo /opt/kopens/plantpulse-edge-docker/bin/start.sh

하는 일은 한 줄입니다 — systemctl start plantpulse-edge.service. 이미 떠 있으면 아무것도 하지 않고 그렇게 알려 줍니다.

systemd 를 직접 써도 같습니다
sudo systemctl start plantpulse-edge.service
sudo systemctl status plantpulse-edge.service

스크립트를 쓰는 이유는 TLS 인증서 확인 같은 앞뒤 처리를 함께 하기 때문입니다.

컨테이너 안에서 무엇이 순서대로 뜨나​

컨테이너의 entrypoint 가 모듈을 순서대로 올립니다. 앞 모듈이 준비돼야 다음이 뜹니다.

캐시는 Valkey 인데 경로와 명령은 «redis» 입니다

엔진은 Valkey(이미지에 8.1.10 을 소스 빌드로 고정)이지만, 로그 파일은 cache/log/redis.log, 데이터는 /data1/pp-data/redis, 로그 보기는 logs.sh redis 입니다. valkey 로 찾으면 아무것도 안 나오니 redis 로 찾으십시오.

순서모듈포트확인
1캐시 (Valkey)6379nc -z 127.0.0.1 6379
2MQTT (HiveMQ)1883nc -z 127.0.0.1 1883
3데이터베이스 (Cassandra)9042nc -z 127.0.0.1 9042
4시계열 엔진7800nc -z 127.0.0.1 7800
5시계열 대시보드3000nc -z 127.0.0.1 3000
6서버 (웹 UI · API)80 · 443curl -ks https://127.0.0.1/api/v1/system/ready
7플로우 도구1880nc -z 127.0.0.1 1880
한 모듈이 늦어도 부팅 전체가 멈추지 않습니다

모듈마다 시간 제한(기본 300초)이 걸려 있습니다. 하나가 그 안에 끝나지 않으면 TIMEOUT 을 남기고 다음 모듈로 넘어갑니다. 한 모듈이 영원히 기다려 부팅 전체를 막는 일을 구조적으로 막기 위한 것입니다 — 그래서 「떴는데 일부가 없는」 상태가 있을 수 있고, 그때는 status.sh 와 로그로 어느 모듈인지 봅니다.

확인​

cd /opt/kopens/plantpulse-edge-docker/bin
./status.sh # 컨테이너 · 헬스 · 볼륨 요약
./health.sh # 애플리케이션 준비 상태
./logs.sh # 부팅 로그 (모듈별 [n] 표시로 나뉜다)

더 알아보기​