環境変数リファレンス
スタジオサーバーが読む環境変数の全一覧です。画面(環境設定)で変更する値とは異なり、 ここの値はファイルを編集して再起動する必要があります。
正本は /etc/kopens/plantpulse-studio.env
/etc/kopens/plantpulse-studio.env
.env は読み込まれなくなりました古いパス(インストールディレクトリの .env)に値を入れても反映されません。 古いファイルが残っていると
スクリプトがそのことを通知します。値を編集するときは上記の正本パスを使用してください。
権限は chmod 600 に設定してください — APIキーが含まれるファイルです。
イメージとバージョン
| 変数 | デフォルト値 | 説明 |
|---|---|---|
REGISTRY | docker.kopens.io/ps | イメージを取得するレジストリ。空にするとローカルタグのみを使用します(直接ビルドした場合) |
TAG | (空白) | イメージタグ |
AGENT_SERVER_TAG | インストール本ごとに異なる | エージェントサーバーイメージタグ |
TAG は空のままにすることが推奨されます空のままにするとbin/start.sh が VERSION ファイルのバージョンを使用してリリースごとに自動で追従します。
ここに値を手動で指定するとその値が固定されます — 実際に1か月前のイメージが起動したことがあります。
特定のリリース時点に固定するにはスナップショットタグを使用してください — 例: TAG=2026.08-20260810.
ロケールとタイムゾーン
プラットフォーム・Edge と同じ変数名を使用します。
| 変数 | デフォルト値 | 説明 |
|---|---|---|
PP_LANG | en | ウェブのデフォルト言語(ko / en)。ブラウザに保存された値が優先されます |
PP_TZ | Asia/Seoul | IANA タイムゾーン ID。「今日/昨日」などの相対時間解釈の基準 |
韓国の現場の場合は PP_LANG=ko に設定してください。
データ保存場所
| 変数 | デフォルト値 | 説明 |
|---|---|---|
DATA_ROOT | /var/lib/pp-studio | ワークスペース・ビルド成果物・ステート・バンドル PG データがすべてこの配下に保存されます |
バックアップ対象のパスはこちらです → バックアップと復復。
データベース — 2つのモードのいずれか
(a) バンドル PostgreSQL (デフォルト) — スタジオが独自の PG コンテナを起動します。
| 変数 | デフォルト値 |
|---|---|
COMPOSE_PROFILES | bundled-pg |
PG_DB | ppstudio |
PG_USER | ppstudio |
PG_PASSWORD | change-me-please — 必ず変更してください |
(b) 共用 PostgreSQL — プラットフォーム PG を共有します(デュアルインフラの削除)。
COMPOSE_PROFILES の行を削除して接続アドレスのみを指定します。
| 変数 | 例 |
|---|---|
DATABASE_URL | postgres://<user>:<password>@<db-host>:5432/ps |
バンドル PG は初回起動時にデータディレクトリを作成するときにアカウントを作成します。後から PG_PASSWORD
のみを変更するとDB 内のアカウントと不一致になりスタックが起動しません。 変更する場合は PostgreSQL 内で
アカウントパスワードを先に変更してください — パスワード・APIキーの変更
の passwd.sh がその手順を代わりに実行します。
プラットフォーム連携
| 変数 | 例 | 説明 |
|---|---|---|
PLATFORM_API_TARGET | https://192.168.0.41 | 実データ照会とログイン認証を委譲するプラットフォームアドレス |
アプリリスナー (プレビュー・デプロイアプリ)
| 変数 | デフォルト値 | 説明 |
|---|---|---|
APPS_PORT | 5171 | プレビューとデプロイされたアプリを提供する別のリスナーポート |
- ポートで直接接続するインストール — ファイアウォールでこのポートも開く必要があります。プレビュー・デプロイアプリ・QR アクセスが有効になります。
- リバースプロキシ背後 — 開く必要はありません。プロキシが同じドメインの
/container·/preview·/appsをこのリスナーに転送します → ドメインとリバースプロキシ。
APPS_ORIGIN)は廃止されました2026-08-23 に削除されました。その値が空の場合、プレビュー URL が 요청호스트:5171 に落ちて
80/443 のみを公開する構成でライブプレビューが完全に機能しなくなりました。 現在はクライアントが
相対パスのみを使用します。
AI プロバイダー
ここの値は初期値です。画面(環境設定 → AI)に入力した値がこの値をオーバーライドします。
| 変数 | デフォルト値 | 説明 |
|---|---|---|
AI_PROVIDER | openai-compatible | 空の場合は常に openai-compatible です |
AI_BASE_URL | (空白) | ゲートウェイアドレス。デフォルト値は設定しません |
AI_MODEL | gpt-4o | モデル名 |
AI_API_KEY | (空白) | OpenAI 互換キー |
ANTHROPIC_API_KEY | (空白) | クラウド Claude を使用する場合のみ |
AI_BASE_URL にもっともらしいデフォルト値を設定しない理由ゲートウェイがそのホストに存在しない場合、チャットが完全に fetch failed になります。値が
もっともらしく見えるため、原因の特定が困難になります。 実際のアドレスを入力してください。入力した値が正しいかどうかは環境設定 → AI タブの
接続テストで保存前に確認できます → 環境設定(管理者)。
以前はどのキーが入力されているかでプロバイダーを選択していましたが、env 構成に応じて何が起動するか 予測不可能なため削除しました(2026-08-23)。
CORS
| 変数 | デフォルト値 | 説明 |
|---|---|---|
STUDIO_CORS_ORIGINS | (空白 = same-origin) | 別のドメインからアクセスする場合のみ指定 |
env で設定しないもの
ユーザーアカウントとロールは環境変数では設定しません。 サーバーがアカウントを全く持っていない場合、
管理者を1人 DB に初期化し、その後はアプリのユーザー管理画面で追加・削除し、
ロール(admin / builder / viewer)もそこで付与します。
関連ドキュメント
- インストール — 初期値を設定する手順
- シークレット管理 — キーをどこに置くか
- 環境設定(管理者) — 画面で変更する値
- ドメインとリバースプロキシ