パスワード · API キー変更
PlantPulse AI はグラフストレージ(Neo4j) アカウントと内部サービスを結ぶ API キーをいくつか使用します。 初期値はすべての設置で同じため コミッショニング時に一度変更して終わりです。 その後は手を加える必要がありません。
変更ツールは bin/passwd.sh ひとつです。Platform · AI · Studio の 3 製品が 同じ名前、
同じ使用法 で備えています。
/etc/kopens/plantpulse-ai.env ひとつだけです本製品のシークレットは /etc/kopens/plantpulse-ai.env にあります。インストールディレクトリ内ではなく
リポジトリツリーの外 にあり、権限は 0600 です。
compose/.env は 旧パス です。今は誰も読みません — ここを修正してもスタックは
変わりません。
2026-08-16 より前は passwd.sh が /etc/kopens/plantpulse-ai.env に 書き込んでいた のに対し、
スタックを起動するスクリプト 10 個は compose/.env を 読み込んでいました。 そのため回転が静かに無効になり、
passwd.sh は成功したと言うものの、サービスは旧キーで実行し続けていました。今は読む場所と書く場所が同じファイル一つです。旧パスに書き込まないでください。
アプリケーションアカウントとは異なります
2 つを混同しないでください。
| 内容 | どこで変更するか | |
|---|---|---|
| アプリケーションアカウント | ユーザーがログインするアカウント | 各アプリの管理画面で管理します |
| インフラ · API キー | DB アカウント、サービス間認証キー | 本ドキュメント — bin/passwd.sh |
本ドキュメントは下記、インフラクレデンシャル のみを扱います。
何を変更できるか
まずリストを確認します。引数なしで実行しても同じです。
cd /opt/kopens/plantpulse-ai-docker
bin/passwd.sh --list
キー · ID · 現在値(最初の 3 文字のみ) · ターゲット · その値がどこにあるか が一緒に表示されます。
完全な値を見る必要がある場合は --list --show です。
| キー | 内容 | 変更方法 |
|---|---|---|
DOCKER_NEO4J_PASSWORD | Neo4j(グラフストレージ) | サーバーアカウントが正本 — ALTER USER (cypher-shell) |
RAG_API_KEY | RAG API キー — copliot-web · lightrag · rag-api が共有 | ファイル |
VLLM_API_KEY | vLLM API キー — lightrag · insight-api が共有 | ファイル |
LITELLM_MASTER_KEY | LiteLLM マスターキー | ファイル |
LITELLM_SALT_KEY | LiteLLM ソルトキー | ファイル |
PP_INBOUND_API_KEY | バックエンド受信キー — rag · insight · parser · vision が共有 | ファイル |
キー名は環境変数名そのものです。 neo4j や rag のような別名はありません — 別名を用いると名前と変数を結ぶテーブルを別途管理する必要があり、そのテーブルは必ず実態とズレるからです。
PP_INBOUND_API_KEY を空の値に設定しないでくださいバックエンド 4 サービス(rag · insight · parser · vision)はこのキーが 空の場合、認証なしで通過させます。 値を削除することは施錠を解除することと同じです。変更時は必ず新しい値を入力し、
--list で値が入ったことを確認してください。
DOCKER_PLATFORM_* はここにありませんPlatform リポジトリクレデンシャルの コピー であり、本製品では変更できません(サーバー側を変更する権限がありません)。リストに表示されず、渡すとタイポと同じように拒否されます。Platform 側の
bin/passwd.sh で変更した後、本製品の値を合わせてください。
変更方法
値を省略してプロンプト入力することが推奨パスです。 パスワードが ps 出力やシェル
履歴に残りません。2 度入力を受け取り、相互に一致することを確認します。
bin/passwd.sh PP_INBOUND_API_KEY
値を引数として直接渡すこともできます。
bin/passwd.sh RAG_API_KEY=<new-value>
複数を一度に渡すと再起動が 1 回にまとめられます。 コミッショニング時はこの形式を使用してください。
bin/passwd.sh VLLM_API_KEY=<new-value> LITELLM_MASTER_KEY=<new-value>
何が変更されるかだけを確認して何も触れたくない場合は --dry-run です。
bin/passwd.sh --dry-run RAG_API_KEY=<new-value>
実行すると変更項目と影響をまず表示し、[y/N] で確認を受けます。自動化で
確認をスキップするには --yes です。
スクリプト・cron のようなターミナルがない環境で値を省略するとプロンプトを表示できず、エラーで終了します。このときは KEY=<value> 形式で渡してください。
実行時の処理
順序が決まっています。
| 順序 | 処理 |
|---|---|
| 1 | サーバーアカウントが正本なことから — DOCKER_NEO4J_PASSWORD 場合、Neo4j 内でアカウントを先に変更します |
| 2 | /etc/kopens/plantpulse-ai.env を新しい値で更新します(権限 0600 は維持) |
| 3 | docker compose up -d --wait — サービスを再構築して新しい値を適用します |
サーバー側を先に変更してファイルを合わせる順序です。逆にするとサーバーは旧値で、ファイルは新値という状態になり、 再起動前まで認証が破損したまま残ります。
この間、AI パスが切断されます。 メンテナンスウィンドウで実施してください。
途中で失敗した場合
| 箇所 | 状態 | 対応 |
|---|---|---|
| 1 段階(Neo4j アカウント変更) | ファイルは触らず中断 します | bin/status.sh で neo4j が起動しているか確認後、再実行 |
| 3 段階(再起動) | ファイルは 既に新しい値 です | bin/status.sh で状態を確認し、起動失敗の原因を処理 |
確認
bin/passwd.sh --list
現在値の最初の 3 文字が変わっていれば反映されています。デフォルト値がそのままかどうかを一目で見られるよう最初の 3 文字を残しています。