環境変数
ObjectOS ランタイムの環境変数リファレンス。
環境変数
デプロイメントレベルの設定とシークレットには環境変数を使用します。 テナント/ユーザーが編集可能なアプリケーション設定にはシステム設定を使用します。
命名規則。 ObjectStack が所有するすべての変数は
OS_プレフィックスを使用します。 1.0 以前のプレフィックスなしの名前(PORT、AUTH_SECRET、OS_MULTI_TENANT、…)も引き続き 動作しますが、一度限りの非推奨警告を出力します。新しいデプロイメントでは正規のOS_*名を優先してください。レガシーエイリアスを参照してください。
コア
| 変数 | 必須 | 説明 |
|---|---|---|
OS_PORT | いいえ | ランタイムがリッスンする HTTP ポート。デフォルトは 3000。レガシーエイリアス: PORT。 |
OS_AUTH_SECRET | 認証には必須 | プロジェクトごとの認証シークレットを導出するために使用する基本シークレット。レガシーエイリアス: AUTH_SECRET。 |
アーティファクトとプロジェクトの解決
| 変数 | 必須 | 説明 |
|---|---|---|
OS_ARTIFACT_FILE | ファイルモード | コンパイル済み objectstack.json へのパスまたは http(s):// URL。ObjectOS の設定によって読み取られ、artifactPath として createStandaloneStack に渡されます。クラウド接続デプロイでは公開済みのクラウド artifact URL を指定します。 |
OS_ARTIFACT_PATH | 代替 | 同じパスまたは URL に対するフレームワークレベルの名前。@objectstack/runtime によって直接処理されます(CLI dev/start)。デフォルトは <cwd>/dist/objectstack.json。 |
OS_PROJECT_ID | 任意 | OS_ENVIRONMENT_ID のレガシーエイリアスで、後方互換性のために ObjectOS の設定が受け付けます。新しいデプロイメントでは OS_ENVIRONMENT_ID を優先してください。 |
OS_ENVIRONMENT_ID | 任意 | standalone stack の環境 id(デフォルト proj_local)。プロジェクトごとの認証シークレットの導出にも使用されます。ObjectOS の設定はレガシーエイリアス OS_PROJECT_ID も受け付けます。 |
OS_ORGANIZATION_ID | 任意 | ファイルバックモードのデフォルト組織 id(デフォルト org_local)。 |
OS_MCP_SERVER_ENABLED | いいえ | true に設定すると、Model Context Protocol サーバーを Streamable HTTP 経由で /api/v1/mcp に公開します(8.0+)。デフォルトはオフ——有効化するまでエンドポイントは 404 を返し、有効化後は認証済みプリンシパルが必要です。 |
OS_CLOUD_URL | 任意 | marketplace プロキシとローカルパッケージインストールのためのコントロールプレーンのベース URL。off または local に設定すると marketplace 機能を無効化できます。standalone ディストリビューションでは host stack のホスト名ルーティングには使用されなくなりました。 |
OS_MULTI_ORG_ENABLED | いいえ | マルチテナントルーティング/組織切り替えを有効にするには true に設定します(デフォルト false)。レガシーエイリアス: OS_MULTI_TENANT。 |
OS_RUNTIME_PORT | 開発のみ | http://localhost:<port> で開発する際にプラットフォーム SSO のコールバック URL を構築するために使用するローカルホストポート。 |
Artifact のホットリロード。 standalone stack は本番以外(
NODE_ENVで制御)で ローカル artifact を自動的に再読み込みします。7.x の明示的なOS_WATCH_ARTIFACT=1フラグは不要になりました。
キャッシュ
| 変数 | デフォルト | 説明 |
|---|---|---|
OS_KERNEL_CACHE_SIZE | 32 | キャッシュするプロジェクトカーネルの最大数。 |
OS_KERNEL_TTL_MS | 900000 | プロジェクトカーネルのアイドル TTL。 |
OS_ENV_CACHE_TTL_MS | 300000 | 環境/ホスト名のキャッシュ TTL。 |
OS_ARTIFACT_CACHE_TTL_MS | 300000 | アーティファクトレスポンスのキャッシュ TTL。 |
認証と信頼できるオリジン
| 変数 | 説明 |
|---|---|
AUTH_SECRET | OS_AUTH_SECRET のレガシーエイリアス。このリリースでは引き続き処理されますが、OS_AUTH_SECRET を優先してください。 |
OS_TRUSTED_ORIGINS | カンマ区切りの追加の信頼できるオリジン。 |
OS_ROOT_DOMAIN | プラットフォーム SSO デプロイメントでプロジェクトのサブドメインを信頼するために使用するルートドメイン。 |
OS_PLATFORM_SSO | プラットフォーム SSO の接続を無効にするには false に設定します。 |
OS_RUNTIME_PORT | localhost プロジェクトのホスト名向けのローカル開発ヘルパー。 |
データベース
クラウド接続モードでは、コントロールプレーンがアーティファクトレスポンスとともに プロジェクトごとのランタイムデータベース設定を返します。ファイルバックモードでは、 ObjectOS はアーティファクトからデータソース宣言を読み取ります。最終手段として、 フレームワークは次のものも処理します。
| 変数 | 説明 |
|---|---|
OS_DATABASE_URL | 接続 URL(file:./db.sqlite、libsql://…、postgres://…、mongodb://…、memory://)。スタンドアロンモードと CLI dev で使用されます。 |
OS_DATABASE_DRIVER | URL から自動検出されるドライバーを上書きします。 |
OS_DATABASE_AUTH_TOKEN | Turso/libSQL などのマネージドドライバー用の認証トークン。 |
OS_BUSINESS_DB_URL | プロジェクトごとのビジネスデータベース URL に対する ObjectOS ラッパーの規約。デプロイメントでは OS_DATABASE_URL またはランタイムデータソースの上書きに解決してください。 |
OS_CACHE_DIR | ローカルアーティファクトおよびランタイムキャッシュのディレクトリ(デフォルト /var/cache/objectos)。 |
OS_SKIP_SCHEMA_SYNC | 起動時の ObjectQL DDL 同期をスキップするには 1 に設定します。スキーマを別途管理する場合に使用します。 |
ObjectOS の顧客デプロイメントでは、コンテナローカルのデフォルトに依存するよりも、 明示的なコントロールプレーンのランタイム設定またはアーティファクトのデータソース設定を 優先してください。
オブザーバビリティ
トレースとメトリクスのエクスポートはオプトインです。エクスポーターのデフォルトは noop のため、
いずれかを選択するまでデプロイメントは何も出力しません——エンドポイントを設定するだけでは
何も起こりません。
| 変数 | デフォルト | 説明 |
|---|---|---|
OS_OBS_EXPORTER | noop | テレメトリエクスポーター: noop | console | json | otlp。ローカルデバッグには console/json、コレクターには otlp を使用します。 |
OS_OTLP_ENDPOINT | — | OTLP/HTTP のルート URL(例: https://otlp.grafana.net/otlp)。OS_OBS_EXPORTER=otlp の場合に必須。空の場合、ランタイムは警告を出して noop にフォールバックします。 |
OS_OTLP_HEADERS | — | 追加の OTLP ヘッダー(例: 認証)を、カンマ区切りの key=value ペアで指定します。 |
OS_OBS_SERVICE_NAME | — | 出力されるスパン/メトリクスに付与する service.name リソース属性。 |
OS_OBS_DEPLOYMENT_ENV | production | deployment.environment リソース属性。 |
OS_OTLP_FLUSH_MS | — | OTLP エクスポーターのフラッシュ間隔(ミリ秒)。 |
設定ネームスペースの上書き
システム設定(テナント/ユーザーが編集可能な ai、email、feature_flags、… の各ネームスペース)は、
OS_<NAMESPACE>_<KEY> という名前の環境変数でデプロイメントレベルに固定できます——大文字化し、
. と - を _ に置き換えます。たとえば ai.openai_base_url → OS_AI_OPENAI_BASE_URL、
feature_flags.ai_enabled → OS_FEATURE_FLAGS_AI_ENABLED です。9.0 以降、プレフィックスなしの
エイリアスは削除され、OS_ プレフィックス付きの形式のみが読み取られます。
Google サインイン(Setup → Authentication で設定可能)も、デプロイメントレベルで
GOOGLE_CLIENT_ID と GOOGLE_CLIENT_SECRET を読み取ります。
レガシーエイリアス
これらの 1.0 以前の名前はこのリリースでは引き続き動作しますが、一度限りの非推奨 警告を出力します。これらは将来のメジャーバージョンで削除されます。正規の名前を優先してください。
| 正規 | レガシー |
|---|---|
OS_PORT | PORT |
OS_AUTH_SECRET | AUTH_SECRET |
OS_MULTI_ORG_ENABLED | OS_MULTI_TENANT |
OS_ENVIRONMENT_ID | OS_PROJECT_ID |