초기 비밀번호 변경 (커미셔닝 필수)
AI 스택을 설치한 뒤, 사람이 로그인하는 화면의 계정을 정리하는 절차입니다. 서비스끼리 쓰는 키 회전은 비밀번호 · API 키 변경 에 있습니다.
관리 콘솔 계정
AI 관리 콘솔 은 환경변수로 계정을 정합니다. 데이터베이스에 사용자를 두지 않으므로, 화면에서 비밀번호를 바꾸는 기능이 없습니다.
| 환경변수 | 뜻 | 기본값 |
|---|---|---|
PI_ADMIN_USER | 로그인 아이디 | admin |
PI_ADMIN_PASSWORD | 로그인 비밀번호 | 없음 — 설치할 때 반드시 지정 |
PI_ADMIN_SESSION_SECRET | 세션 서명 키 | 설치기가 만듭니다(ppss_ 로 시작하는 무작위 값) |
콘솔 컨테이너(plantpulse-admin-api)는 이 값을 ADMIN_AUTH_USERNAME · ADMIN_AUTH_PASSWORD ·
ADMIN_SESSION_SECRET 이라는 이름으로 받습니다. compose 가 옮겨 넣는 것이므로, 운영자가 고치는
것은 위 표의 PI_* 이름입니다.
템플릿의 PI_ADMIN_PASSWORD 는 자리표시자(CHANGE_ME_…)이고, 설치기는 이 값을 만들지 않습니다
— 사람이 그 값으로 로그인하기 때문입니다. 자리표시자인 채로는 START=1 기동이 거부되고, 비워 두면
콘솔이 기동을 거부합니다. 즉 "기본값을 그대로 쓰고 있었다" 가 일어날 수 없는 구조입니다.
설치할 때 정한 값이 곧 운영 값이므로, 그 값이 임시로 정한 약한 값이 아닌지 커미셔닝 때 한 번
점검하세요.
바꾸는 법
bin/passwd.sh 가 관리하는 키 목록에 콘솔 계정은 들어 있지 않습니다.
환경 파일을 직접 고치고 컨테이너를 다시 만듭니다.
sudo vi /etc/kopens/plantpulse-ai.env # PI_ADMIN_PASSWORD 수정
cd /opt/kopens/plantpulse-ai-docker/bin
./up.sh # 컨테이너 재생성
PI_ADMIN_SESSION_SECRET 은 설치할 때 한 번 만들어집니다. 값을 바꾸면 그때까지의 로그인이 모두
풀립니다. 비워 두면 compose 가 기동을 거부합니다.
LiteLLM 관리 화면 계정
모델 게이트웨이(LiteLLM)의 관리 화면 http://<AI 서버>:4000/ui 에 사람이 들어갈 때 쓰는
계정입니다(포트를 PI_LITELLM_PORT 로 바꿨다면 그 포트). API 호출에는 쓰이지 않습니다(그쪽은 마스터 키나 가상 키).
| 환경변수 | 뜻 | 기본값 |
|---|---|---|
PI_LITELLM_UI_USERNAME | 로그인 아이디 | admin (템플릿에서는 주석 처리돼 있습니다) |
PI_LITELLM_UI_PASSWORD | 로그인 비밀번호 | admin123! |
admin123! 은 템플릿에 적힌 값이고, 설치기가 새로 만들어 주지 않습니다. 4000 번은 LAN 에 열려
있으므로 그대로 두면 같은 망의 누구나 게이트웨이 관리 화면에 들어갈 수 있습니다.
PI_LITELLM_UI_PASSWORD 는 필수입니다 — 비어 있거나 없으면 compose 가 기동을 거부합니다.
LiteLLM 은 이 값이 없으면 UI 비밀번호로 마스터 키(PI_LLM_API_KEY)를 쓰기 때문에, 사람이
API 전체를 여는 키를 타이핑하게 되는 것을 막으려고 따로 둡니다.
바꾸는 법은 콘솔 계정과 같습니다 — passwd.sh 목록에 없으므로 환경 파일을 고치고 ./up.sh 로
다시 만듭니다.
이 계정은 2026.09 에 생겼습니다. 설치기는 이미 있는 환경 파일을 다시 만들지 않으므로, 예전
파일에는 이 줄이 없습니다. 그대로
올리면 PI_LITELLM_UI_PASSWORD 가 없다는 오류로 기동이 멈춥니다. /etc/kopens/plantpulse-ai.env 에
직접 넣으십시오(값은 새로 정한 비밀번호로).
PI_LITELLM_UI_PASSWORD=<비밀번호>
인프라 계정과 API 키
서비스끼리 쓰는 자격증명입니다. bin/passwd.sh 가 대상 목록을 갖고 있습니다.
cd /opt/kopens/plantpulse-ai-docker/bin
./passwd.sh --list # 무엇을 바꿀 수 있는지 (현재값은 마스킹)
./passwd.sh --list --show # 현재값 전체
./passwd.sh PI_INBOUND_API_KEY
./passwd.sh --generate PI_INBOUND_API_KEY # 값을 직접 만들지 않고 도구가 만들게
| 키 | 무엇 |
|---|---|
PI_NEO4J_PASSWORD | Neo4j — LightRAG 지식 그래프와 공장 그래프 거울, 두 인스턴스를 함께 바꿉니다 |
PI_RAG_API_KEY | RAG API 키 — copliot-web · lightrag · rag-api 가 함께 씁니다 |
PI_VLLM_API_KEY | vLLM API 키 — lightrag · insight-api 가 함께 씁니다 |
PI_LLM_API_KEY | LiteLLM 마스터 키 |
PI_LITELLM_SALT_KEY | LiteLLM 솔트 키 — 🔴 바꾸면 이미 등록한 외부 모델의 키를 못 풉니다. 회전하지 마십시오 |
PI_INBOUND_API_KEY | 뒷단 인바운드 키 — rag · insight · parser · vision · 디지털 스레드가 받고(비면 그 다섯이 기동을 거부합니다), 코파일럿 · 관리 콘솔이 같은 값으로 부릅니다 |
PI_COPILOT_SECRET_KEY · PI_DT_SECRET_KEY 는 설치기가 첫 설치에 만들고, 커미셔닝 때 바꿀 값이 아닙니다
— 바꾸면 그 키로 봉한 자격증명을 못 풉니다. 할 일은 둘입니다.
- 값이 있는지 확인합니다.
PI_COPILOT_SECRET_KEY가 비면 코파일럿이 기동을 거부합니다. 2026.09 이하에서 올린 호스트에는 줄 자체가 없습니다 → 환경 변수 설정 - env 파일 백업에 두 값이 들어가게 합니다.
교체가 꼭 필요하면 _PREVIOUS 절차를 따릅니다 → 비밀번호 · API 키 변경
비어 있으면 기동 전 판정이 스택을 아예 올리지 않고, 뒷단 서비스도 각자 기동을 거부합니다(2026.10 재릴리즈부터 —
그 전의 서비스는 "키가 없으면 통과" 였습니다). 그러나 CHANGE_ME_… 자리표시자는 빈 값이 아니라 그 검사를
통과하고, 그 값은 모든 설치에서 같은 문자열입니다. 설치기가 자리표시자를 새 값으로 바꿔 두므로,
설치 직후 bin/doctor.sh 로 남은 자리표시자가 없는지 확인하십시오. 회전은 passwd.sh 가
파일을 먼저 고치고 그다음 재기동하는 순서로 합니다. 직접 고칠 때도 같은 순서를 지키세요.
PI_RAG_API_KEY · PI_VLLM_API_KEY · PI_INBOUND_API_KEY 는 소비자가 여럿입니다. 한 곳만
고치면 나머지가 인증에 실패하므로, passwd.sh 로 바꾸고 스택 전체를 재기동하세요.
확인
# 콘솔이 떴는가 — HTTP 5959 · HTTPS 5960 (2026.09 까지는 9080)
curl -sf http://127.0.0.1:5959/health && echo OK
curl -sfk https://127.0.0.1:5960/health && echo OK
브라우저에서 옛 비밀번호로 로그인이 막히는지 직접 확인하세요.
이 페이지가 다루지 않는 것
| 대상 | 어디에 |
|---|---|
| 뒷단 인바운드 키 · LLM 키 · Neo4j 등 | 비밀번호 · API 키 변경 |
공개 API(/api/v1) 기계 인증 키 CO_API_V1_KEY(2026.09 까지 CH_API_V1_KEY) | 환경 변수 설정 |
| AI Chat Web 사용자 계정 | 플랫폼 사용자 체계를 따릅니다 → 플랫폼 사용자 관리 |
| 플랫폼·Edge·Studio 의 초기 계정 | 각 제품 문서의 같은 이름 페이지 |
관련 문서
- AI 관리 콘솔 — 콘솔 사용법과 세션 정책
- 비밀번호 · API 키 변경 — 키 회전 전반
- 설치 및 설정