본문으로 건너뛰기

원라인 설치 (권장)

인터넷이 되는 서버라면 명령 한 줄로 설치가 시작됩니다. 설치 스크립트는 배포 서버 product.kopens.io 에서 받아옵니다.

curl -fsSL https://product.kopens.io/plantpulse-ai/install.sh | sudo bash

폐쇄망이라면 이 경로를 쓸 수 없습니다 → 폐쇄망 설치.


시작하기 전에​

확인할 것내용
권한root 로 실행해야 합니다 (sudo bash)
네트워크product.kopens.io · docker.kopens.io 에 HTTPS 접근 가능
하드웨어GPU 포함 요구사항 → 시스템 요구사항

무엇을 받아오나 — 저장소 셋​

AI 스택의 compose 는 세 저장소가 나란히 있어야 뜹니다.

/opt/kopens/
├── plantpulse-ai-docker/ ← 설치 본체
├── plantpulse-ai-inference-server/
└── plantpulse-timeseries-insight-server/

원라인 설치는 이 셋을 담은 번들(plantpulse-ai-bundle.tar.gz)을 받아 한꺼번에 풀어 줍니다. 따로 준비할 것이 없습니다. 스크립트는 푼 뒤에 셋이 다 왔는지 확인하고, 하나라도 빠지면 그 이름을 찍고 다른 경로로 넘어갑니다 — 반쪽으로 뜨는 일이 없게 막는 장치입니다.

사내에서 저장소로 직접 받으려면

GIT_USER · GIT_TOKEN 을 주면 번들 대신 dev.kopens.io 에서 git clone 합니다. 고객사에는 우리 GitLab 계정이 없으므로 기본은 번들입니다.


값을 지정해서 설치하기​

환경 변수는 bash 앞에 둡니다. curl 앞에 두면 파이프를 타고 넘어가지 않습니다.

curl -fsSL https://product.kopens.io/plantpulse-ai/install.sh \
| sudo START=1 PP_DATALAKE_ADMIN_URL=https://192.168.0.41:4950 PP_DATALAKE_ADMIN_API_KEY=<플랫폼의 키> bash

빈 값을 하나씩 물어보게 하려면 대화형으로 실행하세요.

curl -fsSL https://product.kopens.io/plantpulse-ai/install.sh | sudo INTERACTIVE=1 bash
환경 변수기본값용도
INTERACTIVE01 이면 빈 값을 프롬프트로 물어봅니다
START—1 이면 설치 후 바로 기동합니다
DEST/opt/kopens/plantpulse-ai-docker설치 위치
BRANCHmaster받아올 브랜치
REPO_HOST(사내 Git 호스트)배포본을 못 받았을 때만 쓰는 대체 경로. 값은 설치 스크립트에 들어 있습니다
REPO_PATHplantpulse-ai/plantpulse-ai-docker.git저장소 경로
GIT_USER · GIT_TOKEN—사설 저장소 인증

설치 스크립트(install.sh)로 그대로 넘어가는 값도 같은 자리에 둡니다. 자주 쓰는 것만 추렸습니다 — 전체와 각 단계가 하는 일은 설치 개요 에 있습니다.

환경 변수기본값용도
PP_DATALAKE_ADMIN_URL · PP_DATALAKE_ADMIN_API_KEY—플랫폼 자격증명을 받을 주소(https://<플랫폼 호스트>:4950)와 키. 주면 묻지 않습니다
PP_PROXY_CERT_SAN이 호스트의 주소TLS 인증서에 넣을 접속 주소·이름(쉼표로 여럿). 공인 IP · VIP · 도메인으로 접속한다면 반드시 줍니다. env 파일에 이미 적힌 값은 다시 설치해도 유지됩니다
ENV_TEMPLATEenv.gb10.exampleAWS g7e(amd64)는 env.g7e.example. 기계와 아키텍처가 어긋나면 멈춥니다
HOST_TUNINGapply (다른 컨테이너가 돌면 plan)호스트 전역 설정을 skip · plan · apply 중 어떻게 할지
ALLOW_DOCKER_RECONFIGURE—1 이면 원래 있던 Docker 의 설정 변경 · 재시작을 허용합니다
SKIP_GPU—1 이면 NVIDIA 드라이버 · toolkit 설치를 건너뜁니다
SKIP_WAIT · WAIT_READY_MIN— · 15START=1 뒤 응답 대기를 건너뛰거나 상한(분)을 바꿉니다
대화형이면 묻는 값

INTERACTIVE=1 이면 TLS 인증서 SAN 을 먼저 묻고, 이어서 플랫폼 자격증명을 받을 주소와 키 (PP_DATALAKE_ADMIN_URL · PP_DATALAKE_ADMIN_API_KEY)를 묻습니다. 그래도 남은 자리표시자(플랫폼 API 토큰 · 관리자 비밀번호 · Neo4j 비밀번호 등)는 하나씩 더 묻습니다. 플랫폼 호스트와 플랫폼 PG · Aster TSDB · Redis 계정 · 비밀번호는 2026.10 부터 묻지 않습니다 — 호스트는 위 주소에서 계산되고, 계정 · 비밀번호는 시작할 때 플랫폼에서 받습니다. 내부 비밀(게이트웨이 키 · 솔트 · 인바운드 키 · 세션 비밀 · 저장 자격증명 암호화 키 등)은 묻지 않고 설치기가 만듭니다.

묻는 값은 대화형 대신 같은 이름의 환경 변수로 넘겨도 됩니다(… | sudo PP_API_TOKEN=<토큰> PI_ADMIN_PASSWORD=<비밀번호> bash). 설치기는 아직 자리표시자인 키만 그 값으로 채우고, 이미 넣은 값은 덮지 않습니다.

신뢰 앵커는 설치기가 두지 않습니다 (2026.10)

플랫폼 신뢰 앵커 /etc/kopens/ca/root.crt(같은 내용을 CA.crt 로도)는 설치기가 만들지 않습니다. START=1 이면 설치기가 이미지를 받기 전에 플랫폼에서 자격증명을 한 번 받아 보고, 앵커가 없거나 키가 틀리면 아무것도 띄우지 않고 멈춥니다. 앵커를 먼저 두고 START=1 로 돌리거나, START 없이 준비까지만 한 뒤 앵커를 두고 띄우십시오 → 설치 개요


설치가 끝나면​

  1. 초기 비밀번호 변경 — 관리 콘솔 계정을 정합니다. PI_ADMIN_PASSWORD 가 자리표시자로 남아 있으면 START=1 기동이 거부되고, 비어 있으면 콘솔이 아예 뜨지 않습니다.
  2. AI 관리 콘솔 에 접속해 홈에서 전체 상태를 확인합니다.
  3. 서비스 포트 맵 으로 방화벽을 정리합니다.
  4. 영상 · 음성 수집과 채팅의 음성으로 묻기를 쓰려면 호스트 env 에 PI_MEDIA_ENABLED=true 한 줄을 넣고 녹취 모델을 받습니다 — 기본은 꺼져 있습니다 → 영상 · 음성 수집

관련 문서​