구성 필드 참조
모든 필드에 대한 완전한 참조 config.json. 이 파일은 계획 제한, 청구, 웹후크, 기능 플래그 등 런타임 제품 동작을 제어합니다. 와는 별개이다 .env, 비밀과 인프라 배선을 담고 있습니다.
스타터 예
이는 청구가 구성되지 않은 자체 호스팅 배포에 권장되는 시작점입니다. 모든 한도는 다음과 같이 설정됩니다. null (무제한), 결제 기능이 비활성화됩니다. 바꾸다 [email protected] 자신의 주소로.
관리자#
사이트 관리자 액세스 권한이 부여된 이메일 주소 배열입니다. 관리자는 배치 프로세스 스케줄러 및 시스템 전체 사용량 대시보드와 같은 권한 있는 페이지에 액세스할 수 있습니다.
| 필드 | 유형 | 필수의 | 설명 |
|---|---|---|---|
| admins | string[] | 필수의 | 관리자 액세스 권한이 있는 이메일 주소 목록입니다. 사용자의 서기 계정과 연결된 이메일과 일치해야 합니다. |
특징#
제품 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 | 필수의 | 추적 가능한 항목별로 분당 수집할 수 있는 최대 로그 이벤트 수입니다. 초과 요청에는 비율이 제한됩니다. |
| maxApiPayloadBytes | number | 필수의 | 단일 로그 페이로드의 최대 크기(바이트)입니다. 이보다 큰 요청은 거부됩니다. |
| logRetentionDays | number | 필수의 | 로그 항목이 제거되기 전에 보관되는 일수입니다. 이 계층 내의 모든 로그에 적용됩니다. |
| maxCreatedWorkspaces | number | null | 필수의 | 단일 사용자가 만들 수 있는 최대 작업 공간 수입니다. null은 무제한을 의미합니다. |
| billingTier | string | null | 필수의 | 이 한도가 적용되는 청구 계층 ID입니다. billing.tiers 배열의 ID와 일치해야 합니다. 계획에 관계없이 모든 사용자에게 이 제한을 적용하려면 null로 설정하세요. |
청구#
Lemon Squeezy 통합을 위한 선택적 결제 구성입니다. 유료 요금제를 사용하지 않는 경우 설정 lemonSqueezyStoreId 그리고 manageUrl 에게 null 그리고 떠나 tiers 빈 배열로. Tier ID 값은limits[].billingTier로 참조되며 정확히 일치해야 합니다.
| 필드 | 유형 | 필수의 | 설명 |
|---|---|---|---|
| lemonSqueezyStoreId | string | null | 선택 과목 | 귀하의 레몬 스퀴지 매장 ID입니다. Lemon Squeezy를 통해 결제를 처리하는 경우 필요합니다. |
| manageUrl | string | null | 선택 과목 | 사용자에게 표시되는 결제 관리 페이지의 URL입니다. 일반적으로 Lemon Squeezy 고객 포털 URL입니다. |
billing.tiers[]
업그레이드 UI에 표시되는 청구 등급 배열입니다. 각 계층에는 제한[].billingTier의 해당 항목과 일치하는 고유 ID가 있어야 합니다.
| 필드 | 유형 | 필수의 | 설명 |
|---|---|---|---|
| id | string | 필수의 | 고유한 계층 식별자입니다. 한도[].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당 분당 허용되는 잘못된 API 키가 있는 최대 요청 수입니다. 자격 증명 스터핑을 방지하는 데 도움이 됩니다. |
| maxBodyBytes | number | 필수의 | API 게이트웨이 수준에서 로그 요청 본문의 최대 크기(바이트)입니다. 이를 초과하는 요청은 서비스 계층에 도달하기 전에 거부됩니다. |
| pageSize | number | 필수의 | 로그 뷰어를 로드할 때 페이지당 가져온 로그 항목 수입니다. |
웹훅#
Redis 및 BullMQ가 지원하는 아웃바운드 웹훅 전달 대기열을 제어합니다. 여기서 속도 제한은 인바운드 로그 수집이 아닌 대기열 소비자에게 적용됩니다.
| 필드 | 유형 | 필수의 | 설명 |
|---|---|---|---|
| queue.enabled | boolean | 필수의 | true인 경우 아웃바운드 웹후크가 Redis의 대기열에 추가되어 비동기식으로 전달됩니다. Redis가 실행 중이어야 합니다. |
| queue.rateLimitMs | number | 필수의 | 대기열에서 연속적인 웹훅 전달 사이에 대기하는 최소 밀리초입니다. |
| queue.rateLimitMax | number | 필수의 | rateLimitMs 창 내에서 전송할 수 있는 최대 웹훅 이벤트 수입니다. |
일괄#
백그라운드 배치 스케줄러에 대한 구성입니다. 스케줄러는 다음을 통해 활성화해야 합니다. features.batchSchedulerEnabled.
| 필드 | 유형 | 필수의 | 설명 |
|---|---|---|---|
| schedulerTimeZone | string | 필수의 | 일괄 작업 예약에 사용되는 IANA 시간대 문자열(예: UTC, America/New_York) cron 기반 작업이 트리거될 때 영향을 미칩니다. |