Справочник по полям конфигурации
Полный справочник по каждому полю в config.json. Этот файл управляет поведением продукта во время выполнения — ограничениями плана, выставлением счетов, веб-перехватчиками и флагами функций. Это отдельно от .env, который хранит секреты и инфраструктурную проводку.
Стартовый пример
Это рекомендуемая отправная точка для самостоятельного развертывания без настройки выставления счетов. Все лимиты установлены null (без ограничений), а функции выставления счетов отключены. Заменять [email protected] с вашим собственным адресом.
администраторы#
Массив адресов электронной почты, которым предоставлен доступ администратора сайта. Администраторы могут получить доступ к привилегированным страницам, таким как планировщик пакетных процессов и общесистемные панели мониторинга использования.
| Поле | Тип | Необходимый | Описание |
|---|---|---|---|
| admins | string[] | Необходимый | Список адресов электронной почты с доступом администратора. Должен совпадать с адресом электронной почты, связанным с учетной записью пользователя. |
функции#
Флаги функций, которые контролируют, какие части пользовательского интерфейса продукта являются активными. Для простых локальных развертываний вы можете отключить все функции выставления счетов и при необходимости оставить только флаг планировщика.
| Поле | Тип | Необходимый | Описание |
|---|---|---|---|
| subscriptionEnforcementEnabled | boolean | Необходимый | Если это правда, пользователи могут просматривать и переходить на платные планы. Если значение равно false, в пользовательском интерфейсе обновления вместо этого отображается заполнитель «Скоро будет выставлен счет». |
| workspaceBillingEnabled | boolean | Необходимый | Если выбрано значение true, уровни выставления счетов и информация о плане отображаются на боковой панели и в настройках рабочей области. Установите значение false, чтобы полностью скрыть весь интерфейс выставления счетов. |
| batchSchedulerEnabled | boolean | Необходимый | Если это правда, планировщик пакетных процессов активен и доступен администратору. Требуется, чтобы Redis и BullMQ были запущены. |
| customMCPServerTokens | boolean | Необходимый | Если значение равно false, сервер MCP выполняет аутентификацию с использованием стандартного токена OAuth/Clerk. Если это правда, вместо этого используются самоуправляемые токены API, что полезно для сред без поддержки Clerk MCP. |
пределы#
Массив наборов ограничений, контролирующих использование ресурсов. Каждую запись можно привязать к уровню выставления счетов с помощью billingTierили установите значение null применяться ко всем пользователям независимо от плана. Для простых развертываний без выставления счетов одна запись с "billingTier": null достаточно. null значения числовых пределов означают неограниченность.
| Поле | Тип | Необходимый | Описание |
|---|---|---|---|
| id | string | Необходимый | Уникальный идентификатор для этого набора лимитов (например, бесплатно, профессионально, по умолчанию). |
| maxTrackableItems | number | Необходимый | Максимальное количество отслеживаемых элементов (формы + конечные точки API), которые пользователь может создать в каждой рабочей области. |
| maxResponsesPerSurvey | number | null | Необходимый | Максимально допустимое количество ответов на опрос/форму. ноль означает неограниченный. |
| maxWorkspaceMembers | number | null | Необходимый | Максимальное количество участников в рабочей области. ноль означает неограниченный. |
| maxApiLogsPerMinute | number | Необходимый | Максимальное количество событий журнала, которые можно принимать в минуту на каждый отслеживаемый элемент. Избыточные запросы ограничены по скорости. |
| maxApiPayloadBytes | number | Необходимый | Максимальный размер в байтах одной полезной нагрузки журнала. Запросы большего размера отклоняются. |
| logRetentionDays | number | Необходимый | Количество дней, в течение которых записи журнала хранятся до очистки. Применяется ко всем журналам на этом уровне. |
| maxCreatedWorkspaces | number | null | Необходимый | Максимальное количество рабочих областей, которые может создать один пользователь. ноль означает неограниченный. |
| billingTier | string | null | Необходимый | Идентификатор уровня выставления счетов, к которому применяется это ограничение. Должен соответствовать идентификатору в массиве billing.tiers. Установите значение null, чтобы применить это ограничение ко всем пользователям независимо от плана. |
выставление счетов#
Дополнительная конфигурация выставления счетов для интеграции Lemon Squeezy. Если вы не используете платные планы, установите lemonSqueezyStoreId и manageUrl к null и уйти tiers как пустой массив. На значения идентификаторов уровня ссылаются ограничения[].billingTier — они должны точно совпадать.
| Поле | Тип | Необходимый | Описание |
|---|---|---|---|
| lemonSqueezyStoreId | string | null | Необязательный | Ваш идентификатор магазина Lemon Squeezy. Требуется, если вы обрабатываете платежи через Lemon Squeezy. |
| manageUrl | string | null | Необязательный | URL-адрес страницы управления платежами, доступной пользователям. Обычно это URL-адрес клиентского портала Lemon Squeezy. |
billing.tiers[]
Массив уровней выставления счетов, отображаемый в пользовательском интерфейсе обновления. Каждый уровень должен иметь уникальный идентификатор, соответствующий соответствующей записи в лимитах[].billingTier.
| Поле | Тип | Необходимый | Описание |
|---|---|---|---|
| id | string | Необходимый | Уникальный идентификатор уровня. На него ссылаются ограничения[].billingTier. |
| name | string | Необходимый | Отображаемое имя, отображаемое пользователям (например, Pro, Team). |
| priceLabel | string | Необходимый | Строка цены, отображаемая в пользовательском интерфейсе (например, 25 долларов США). |
| priceInterval | string | Необходимый | Интервал выставления счетов указан под ценой (например, в месяц). |
| description | string | Необходимый | Краткое описание того, что включает этот уровень. |
| tone | "neutral" | "accent" | "strong" | Необходимый | Визуальная тема уровневой карты. акцентные и сильно выделенные стили; нейтральный — значение по умолчанию. |
| mostPopular | boolean | Необходимый | Если это правда, на карте этого уровня отображается значок «Самый популярный». |
| lemonSqueezyVariantId | string | null | Необязательный | Идентификатор варианта продукта Lemon Squeezy для этого уровня. Требуется для работы кассы. |
| enabled | boolean | Необходимый | Если установлено значение false, этот уровень скрыт в пользовательском интерфейсе обновления, даже если включено выставление счетов. |
использование#
Глобальные элементы управления использованием API, которые применяются ко всем рабочим пространствам и пользователям.
| Поле | Тип | Необходимый | Описание |
|---|---|---|---|
| invalidApiKeyRateLimitPerMinute | number | Необходимый | Максимальное количество запросов с недействительным ключом API, разрешенное в минуту для каждого IP-адреса, прежде чем источник будет ограничен по скорости. Помогает предотвратить подтасовку учетных данных. |
| 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, Америка/Нью-Йорк). Влияет на запуск заданий на основе cron. |