コンテンツにスキップ
コンソール →
公式サイト →
URL を貼り付けて AI に質問 https://keelson.dev/ja/llms.txt

環境変数一覧

Keelson がアプリのコンテナに自動設定する環境変数と、ローカル開発で Keelson SDK を使うための環境変数をまとめています。

自動設定される変数は、keelson.yaml の env に書く必要はありません。自分で定義・上書きせず、Keelson が設定した値を使います。KEELSON_ で始まる名前は Keelson が管理する予約名で、env / secrets には使えません。

変数内容
PORTWeb アプリがリクエストを待ち受けるポート番号。起動時にこの値を読み取って使用します
TZワークスペースのタイムゾーン(例: Asia/Tokyo)
KEELSON_MODEKeelson 上では keelson。ローカル開発では通常は未設定。Files / Media SDK をローカル保存で使う場合や、Tasks SDK でタスクを手元で同期実行する場合は local も指定できます
KEELSON_APP_IDアプリの内部 ID
KEELSON_WORKSPACE_IDワークスペースの内部 ID
KEELSON_TENANT_IDKEELSON_WORKSPACE_ID の互換用別名(値は同じ)
KEELSON_DEPLOY_ID現在のデプロイの内部 ID
KEELSON_APP_URLアプリの公開 URL(https://<ws>--<app>.keelson.run)。絶対 URL が必要な場面で使います。Keelson がアプリの公開ホスト名を生成できる場合に設定されます
KEELSON_DIRECTORY_BASE_URLIdentity SDK が使う Directory API のベース URL。KEELSON_APP_URL と同じ値が、同じ条件で設定されます

既存アプリとの互換性のため、KEELSON_TENANT_ID にも KEELSON_WORKSPACE_ID と同じ値を自動設定します。旧名の廃止時期は未定です。

Files / Media / Identity / Tasks / Email SDK 用の接続先や認証情報は、各 SDK が自動で読み取ります。通常はアプリのコードから直接参照する必要はありません。

変数条件内容
KEELSON_DB_URLdb.mode: libsqlManaged SQLite の接続 URL
KEELSON_DB_AUTH_TOKENdb.mode: libsqlManaged SQLite の認証トークン
TURSO_DATABASE_URL / TURSO_AUTH_TOKENdb.mode: libsqlそれぞれ KEELSON_DB_URL / KEELSON_DB_AUTH_TOKEN と同じ値が設定される互換用の別名
KEELSON_FILES_BUCKET / KEELSON_FILES_PREFIXコンテナ型のデプロイで、ファイル保存先が構成されているとき(通常のデプロイでは自動)Files SDK が使う保存先
KEELSON_INTERNAL_MEDIA_BASE_URL / KEELSON_APP_MEDIA_TOKENコンテナ型のデプロイで、Media 機能が有効なとき(通常のデプロイでは自動)Media SDK が使うアップロード先と認証トークン
KEELSON_MEDIA_URL_PREFIXMedia SDK のアップロード先・認証トークンと同じ条件Media の配信 URL の先頭部分(/__keelson/media/)
KEELSON_DIRECTORY_TOKENkeelson apps directory enable を実行し、アプリを再デプロイした後Identity SDK が使う Directory API のトークン。サーバー側だけで扱います
KEELSON_EMAIL_API_URL / KEELSON_EMAIL_TOKENコンテナ型のデプロイ(通常のデプロイでは自動)Email SDK がメール送信に使う接続先と認証トークン。サーバー側だけで扱います
KEELSON_EMAIL_WEBHOOK_SECRETKEELSON_EMAIL_TOKEN と同じ条件メールの配信結果の通知の署名を検証する鍵。Email SDK の検証関数に渡します
KEELSON_TASKS_BASE_URLKeelson がバックグラウンドタスクを受け付けている間、Web・定期実行ジョブ・タスクの各コンテナに設定(tasks の宣言の有無は問いません)Tasks SDK がタスクの投入と状態の取得に使う URL。自分で設定する必要はありません

静的サイト・SPA(assets を指定し、command を省略する構成)にはコンテナがないため、実行時の環境変数は設定されません。Files / Media の SDK は静的サイトからは使えません。定期実行ジョブだけのアプリも command を省略しますが、ジョブはコンテナで動作し、SDK 用の環境変数を利用できます。

  • NODE_ENV — 自動では設定されません。keelson.yaml の env で "production" を宣言してください
  • 外部 DB の接続情報 — 自動では設定されないため、シークレットで渡します。db.mode: none の場合、Managed SQLite の接続情報は自動設定されません

SDK を手元の開発環境で動かすための設定です。必要に応じてローカルの環境変数として指定し、keelson.yaml の env や Keelson のシークレットには登録しません。

変数内容
KEELSON_MODE=localFiles / Media SDK でローカル保存を使用します。Tasks SDK では、enqueue が CLI の keelson dev task run でコマンドを手元で同期実行します。通常のローカル開発では未設定でも同じ動作になります
KEELSON_FILES_DIRFiles SDK のローカル保存先(既定 ./.keelson/files)
MEDIA_DIRMedia SDK のローカル保存先(既定 ./media)
KEELSON_LOCAL_MODE=1Identity SDK が API に接続せず、テスト用データを返すようにします。keelson dev serve 経由で起動するときは不要です(ローカルで動かす)
KEELSON_LOCAL_USERS_FILEKEELSON_LOCAL_MODE=1 のときに Identity SDK が読む名簿ファイル(既定 ./.keelson/dev-users.json)
KEELSON_LOCAL_USER_ID / KEELSON_LOCAL_USER_EMAIL / KEELSON_LOCAL_USER_NAMEローカル開発で Identity SDK が返すテスト用ユーザーの ID・メールアドレス・表示名。名簿ファイルがあるときは使いません
KEELSON_LOCAL_WORKSPACE_ID / KEELSON_LOCAL_WORKSPACE_ROLE / KEELSON_LOCAL_APP_IDローカル開発で Identity SDK が返すテスト用のワークスペース ID・ワークスペース内のロール・アプリ ID

Identity SDK は、互換性のため旧名の KEELSON_LOCAL_TENANT_ID と KEELSON_LOCAL_TENANT_ROLE も読み取れます。新旧両方を指定した場合は、WORKSPACE を含む新しい名前の値が優先されます。旧名の廃止時期は未定です。