パスワード・APIキーの変更
Studio が使用する DB アカウントと AI キーは、初期値がすべてのインストールで同一です。コミッショニング時に一度変更して終わりです。その後は手を加える必要はありません。
変更に使用するツールは bin/passwd.sh の一つだけです。platform・ai・studio の 3 製品が同じ名前、同じ使い方で持っています。
/etc/kopens/plantpulse-studio.env の一つだけこの製品の秘密は /etc/kopens/plantpulse-studio.env にあります。インストールディレクトリ
(/opt/kopens/plantpulse-studio-docker) 内ではなく repo ツリーの外にあり、権限は 0600
です。
インストールディレクトリのルートにある .env は旧パスです。現在は誰も読みません — ここを
修正してもスタックは変わりません。
2026-08-16 より前は passwd.sh が /etc/kopens/plantpulse-studio.env に書き込んでいましたが、
compose と残りのスクリプトは repo ルートの .env を読んでいました。そのためローテーションが
静かに無効であり、passwd.sh は成功したと言うのに、スタックは古い値で動き続けていました
(PS_ANTHROPIC_API_KEY・PI_LLM_API_KEY がその状態でした)。旧パスを再度使用しないでください。
アプリログインアカウントはここでの対象ではありません
2 つを混同しないでください。
| 何 | どこで変更するか | |
|---|---|---|
| アプリログインアカウント | 人が Studio にログインするアカウント | アプリ内の環境設定 → ユーザー管理 |
| AI キー | Anthropic・OpenAI 互換ゲートウェイキー | このドキュメント — bin/passwd.sh |
.env でアプリアカウントを変更しようとしないでください — 死んだ値になりますStudio サーバーはログイン時に ①DB → ②環境変数 の順で確認します。DB にアカウントが登録されているとそこで
終了するため、その後に env の STUDIO_LOCAL_USERS を変更しても効果はありません。
アプリアカウントは環境設定 → ユーザー管理で作成し、役割を付与し、パスワードを再設定します。
詳細は環境設定(管理者) のユーザー管理セクションに
あります。出典が 환경변수 であるアカウントは画面から修正・削除できません。
ブートストラップアカウント(STUDIO_LOCAL_USERS)は初回アクセス用の一時的な手段です。運用アカウントが準備できたら
空にして再起動してください。
何を変更できるか
まず一覧を確認します。引数なしで実行しても同じです。
cd /opt/kopens/plantpulse-studio-docker
bin/passwd.sh --list
キー・ID・現在値(先頭 3 文字のみ)・対象・その値がどこにあるかが一緒に表示されます。
全体の値を確認する必要がある場合は --list --show です。
| キー | 何 | どのように変更されるか |
|---|---|---|
PS_ANTHROPIC_API_KEY | Anthropic API キー | ファイル — agent-server 起動時にロード |
PI_LLM_API_KEY | OpenAI 互換ゲートウェイキー | ファイル — agent-server 起動時にロード |
この 2 つだけです。 キー名は .env の変数名そのままであり、anthropic のような別名は
ありません — 別名を設けると名前と変数を結びつける表を別途管理する必要があり、その表は必ず実際と
食い違うためです。
🔴 PG_PASSWORD というキーはありません。 スタジオは外部 PostgreSQL のみを使用し
(バンドルコンテナは 2026-08-28 に廃止しました)、接続情報は .env の DATABASE_URL の 1 行
に含まれています。そのアカウントの原本は PG 内にあるため、DB 側で先に変更し
DATABASE_URL を合わせた後で bin/restart.sh です。
プラットフォームの PP_* もここにはありません。渡すとタイポと同様に拒否されます。
ログやソースでは ANTHROPIC_API_KEY・AI_API_KEY として見えます。.env と
passwd.sh に使用する名前は上記の 2 つです →
環境変数リファレンス
変更
値を省略してプロンプトで入力するのが推奨される方法です。 パスワードが ps の出力やシェル
履歴に残りません。2 回入力して一致するか確認します。
bin/passwd.sh PI_LLM_API_KEY
値を引数として直接渡すこともできます。
bin/passwd.sh PS_ANTHROPIC_API_KEY=<new-value>
複数を一度に渡すと再起動が 1 回にまとめられます。 コミッショニング時にはこの形式を使用してください。
bin/passwd.sh PI_LLM_API_KEY=<new-value> PS_ANTHROPIC_API_KEY=<new-value>
何が変わるかだけを確認して何も変更しない場合は --dry-run です。
bin/passwd.sh --dry-run PI_LLM_API_KEY=<new-value>
実行すると変更項目と影響を最初に表示し、[y/N] で確認を求めます。自動化で
確認をスキップするには --yes です。
スクリプト・cron のようにターミナルがない環境で値を省略すると、プロンプトを表示できずエラーで
終了します。この場合は KEY=<value> の形式で渡してください。
実行されると何が起こるか
順序が決まっています。
| 順序 | 処理 |
|---|---|
| 1 | /etc/kopens/plantpulse-studio.env を新しい値で更新します (権限 0600 維持) |
| 2 | docker compose up -d --wait — コンテナを再作成して新しい値を焼き込みます |
両方のキーともファイルが原本です。外部サービスのアカウントも同時に変更する必要がある種類ではなく、 ファイルを修正して再焼き込みすれば完了です。
この間、Studio への接続が切断されます。 点検ウィンドウで実行してください。
途中で失敗した場合
| どこで | 状態 | 行うこと |
|---|---|---|
| ステップ 2 (再起動) | ファイルは既に新しい値です | bin/status.sh で状態を確認し、起動失敗の原因を処理 |
PI_LLM_API_KEY は空の場合、スタックが起動を拒否します。 変更時は必ず新しい値を
設定し、--list で入ったことを確認してください。
確認
bin/passwd.sh --list
現在値の先頭 3 文字が変わっていれば反映されています。デフォルト値のままかどうかが一目でわかるように先頭 3 文字を 残しています。