構成フィールドのリファレンス
のすべてのフィールドの完全なリファレンス config.json. このファイルは、プランの制限、請求、Webhook、機能フラグなど、ランタイム製品の動作を制御します。 とは別のものです .env、秘密とインフラストラクチャ配線が保持されます。
スターターの例
これは、課金が構成されていないセルフホスト型展開の推奨される開始点です。 すべての制限は次のように設定されています null (無制限)、課金機能は無効になります。 交換する [email protected] 自分のアドレスで。
管理者#
サイト管理者アクセスが許可される電子メール アドレスの配列。 管理者は、バッチ プロセス スケジューラやシステム全体の使用状況ダッシュボードなどの特権ページにアクセスできます。
| 分野 | タイプ | 必須 | 説明 |
|---|---|---|---|
| admins | string[] | 必須 | 管理者アクセス権を持つ電子メール アドレスのリスト。 ユーザーの Clerk アカウントに関連付けられた電子メールと一致する必要があります。 |
特徴#
製品 UI のどの部分がアクティブになるかを制御する機能フラグ。 単純なセルフホスト展開の場合は、すべての課金機能を無効にして、必要に応じてスケジューラ フラグのみを残すことができます。
| 分野 | タイプ | 必須 | 説明 |
|---|---|---|---|
| subscriptionEnforcementEnabled | boolean | 必須 | true の場合、ユーザーは有料プランを表示してアップグレードできます。 false の場合、アップグレード UI には、代わりに近日請求のプレースホルダーが表示されます。 |
| workspaceBillingEnabled | boolean | 必須 | true の場合、請求レベルとプラン情報がサイドバーとワークスペース設定に表示されます。 すべての請求 UI を完全に非表示にするには、false に設定します。 |
| batchSchedulerEnabled | boolean | 必須 | true の場合、バッチ プロセス スケジューラがアクティブになり、管理者がアクセスできます。 Redis と BullMQ が実行されている必要があります。 |
| customMCPServerTokens | boolean | 必須 | false の場合、MCP サーバーは標準の OAuth/Clerk トークンを使用して認証します。 true の場合、代わりにセルフマネージド API トークンが使用されます。これは、Clerk MCP サポートのない環境に役立ちます。 |
限界#
リソースの使用量を制御する制限セットの配列。 各エントリは、次の方法で課金レベルに関連付けることができます。 billingTier、またはに設定 null プランに関係なくすべてのユーザーに適用されます。 課金のない単純な導入の場合、次の単一エントリ "billingTier": null で十分です。 null 数値制限の値は無制限を意味します。
| 分野 | タイプ | 必須 | 説明 |
|---|---|---|---|
| id | string | 必須 | この制限セットの一意の識別子 (無料、プロ、デフォルトなど)。 |
| maxTrackableItems | number | 必須 | ユーザーがワークスペースごとに作成できる追跡可能なアイテム (フォーム + API エンドポイント) の最大数。 |
| maxResponsesPerSurvey | number | null | 必須 | アンケート/フォームごとに許可される回答の最大数。 null は無制限を意味します。 |
| maxWorkspaceMembers | number | null | 必須 | ワークスペース内のメンバーの最大数。 null は無制限を意味します。 |
| maxApiLogsPerMinute | number | 必須 | 追跡可能なアイテムごとに 1 分あたりに取り込めるログ イベントの最大数。 過剰なリクエストにはレート制限があります。 |
| maxApiPayloadBytes | number | 必須 | 単一ログ ペイロードの最大サイズ (バイト単位)。 これより大きいリクエストは拒否されます。 |
| logRetentionDays | number | 必須 | ログ エントリがパージされるまでに保持される日数。 この層内のすべてのログに適用されます。 |
| maxCreatedWorkspaces | number | null | 必須 | 1 人のユーザーが作成できるワークスペースの最大数。 null は無制限を意味します。 |
| billingTier | string | null | 必須 | この制限が適用される請求階層 ID。 billing.tiers 配列内の ID と一致する必要があります。 プランに関係なく、この制限をすべてのユーザーに適用するには、null に設定します。 |
請求する#
Lemon Squeezy 統合のためのオプションの課金構成。 有料プランを利用していない場合は設定してください lemonSqueezyStoreId そして manageUrl に null そして去ります tiers 空の配列として。 階層 ID 値は、limits[].billingTier によって参照されます。これらは正確に一致する必要があります。
| 分野 | タイプ | 必須 | 説明 |
|---|---|---|---|
| lemonSqueezyStoreId | string | null | オプション | レモンスクイージーのストアID。 Lemon Squeezy を通じて支払いを処理する場合は必須です。 |
| manageUrl | string | null | オプション | ユーザーに表示される請求管理ページへの URL。 通常は、Lemon Squeezy カスタマー ポータルの URL。 |
billing.tiers[]
アップグレード UI に表示される請求階層の配列。 各層には、limits[].billingTier 内の対応するエントリと一致する一意の ID が必要です。
| 分野 | タイプ | 必須 | 説明 |
|---|---|---|---|
| id | string | 必須 | 一意の階層識別子。 limits[].billingTier によって参照されます。 |
| name | string | 必須 | ユーザーに表示される表示名 (例: Pro、Team)。 |
| priceLabel | string | 必須 | UI に表示される価格文字列 (例: $25)。 |
| priceInterval | string | 必須 | 価格の下に表示される請求間隔 (例: 月ごと)。 |
| description | string | 必須 | この層に含まれる内容の簡単な説明。 |
| tone | "neutral" | "accent" | "strong" | 必須 | ティアカードのビジュアルテーマ。 アクセントとストロングは強調表示されたスタイルです。 デフォルトはニュートラルです。 |
| mostPopular | boolean | 必須 | true の場合、この層カードに最も人気のあるバッジが表示されます。 |
| lemonSqueezyVariantId | string | null | オプション | この層の Lemon Squeezy 製品バリアント ID。 チェックアウトが機能するために必要です。 |
| enabled | boolean | 必須 | false の場合、課金が有効になっている場合でも、このレベルはアップグレード UI から非表示になります。 |
使用法#
すべてのワークスペースとユーザーに適用されるグローバルな API 使用制御。
| 分野 | タイプ | 必須 | 説明 |
|---|---|---|---|
| invalidApiKeyRateLimitPerMinute | number | 必須 | ソースがレート制限される前に、IP ごとに 1 分間に許可される無効な API キーを含むリクエストの最大数。 資格情報のスタッフィングの防止に役立ちます。 |
| maxBodyBytes | number | 必須 | API ゲートウェイ レベルでのログ リクエスト本文の最大サイズ (バイト単位)。 これを超えるリクエストはサービス層に到達する前に拒否されます。 |
| pageSize | number | 必須 | ログ ビューアのロード時にページごとにフェッチされるログ エントリの数。 |
Webhook#
Redis と BullMQ によってサポートされる送信 Webhook 配信キューを制御します。 ここでのレート制限は、受信ログの取り込みではなく、キューのコンシューマーに適用されます。
| 分野 | タイプ | 必須 | 説明 |
|---|---|---|---|
| queue.enabled | boolean | 必須 | true の場合、送信 Webhook は Redis のキューに入れられ、非同期で配信されます。 Redis が実行されている必要があります。 |
| queue.rateLimitMs | number | 必須 | キューからの連続した Webhook 配信の間に待機する最小ミリ秒。 |
| queue.rateLimitMax | number | 必須 | rateLimitMs ウィンドウ内で送信できる Webhook イベントの最大数。 |
バッチ#
バックグラウンドバッチスケジューラーの構成。 スケジューラも次の方法で有効にする必要があります。 features.batchSchedulerEnabled.
| 分野 | タイプ | 必須 | 説明 |
|---|---|---|---|
| schedulerTimeZone | string | 必須 | バッチ ジョブのスケジュールに使用される IANA タイムゾーン文字列 (例: UTC、アメリカ/ニューヨーク)。 cron ベースのジョブがトリガーされるタイミングに影響します。 |