Справочник по полям конфигурации

Полный справочник по каждому полю в config.json. Этот файл управляет поведением продукта во время выполнения — ограничениями плана, выставлением счетов, веб-перехватчиками и флагами функций. Это отдельно от .env, который хранит секреты и инфраструктурную проводку.

Стартовый пример


Это рекомендуемая отправная точка для самостоятельного развертывания без настройки выставления счетов. Все лимиты установлены null (без ограничений), а функции выставления счетов отключены. Заменять [email protected] с вашим собственным адресом.

администраторы#


Массив адресов электронной почты, которым предоставлен доступ администратора сайта. Администраторы могут получить доступ к привилегированным страницам, таким как планировщик пакетных процессов и общесистемные панели мониторинга использования.

ПолеТипНеобходимыйОписание
adminsstring[]НеобходимыйСписок адресов электронной почты с доступом администратора. Должен совпадать с адресом электронной почты, связанным с учетной записью пользователя.

функции#


Флаги функций, которые контролируют, какие части пользовательского интерфейса продукта являются активными. Для простых локальных развертываний вы можете отключить все функции выставления счетов и при необходимости оставить только флаг планировщика.

ПолеТипНеобходимыйОписание
subscriptionEnforcementEnabledbooleanНеобходимыйЕсли это правда, пользователи могут просматривать и переходить на платные планы. Если значение равно false, в пользовательском интерфейсе обновления вместо этого отображается заполнитель «Скоро будет выставлен счет».
workspaceBillingEnabledbooleanНеобходимыйЕсли выбрано значение true, уровни выставления счетов и информация о плане отображаются на боковой панели и в настройках рабочей области. Установите значение false, чтобы полностью скрыть весь интерфейс выставления счетов.
batchSchedulerEnabledbooleanНеобходимыйЕсли это правда, планировщик пакетных процессов активен и доступен администратору. Требуется, чтобы Redis и BullMQ были запущены.
customMCPServerTokensbooleanНеобходимыйЕсли значение равно false, сервер MCP выполняет аутентификацию с использованием стандартного токена OAuth/Clerk. Если это правда, вместо этого используются самоуправляемые токены API, что полезно для сред без поддержки Clerk MCP.

пределы#


Массив наборов ограничений, контролирующих использование ресурсов. Каждую запись можно привязать к уровню выставления счетов с помощью billingTierили установите значение null применяться ко всем пользователям независимо от плана. Для простых развертываний без выставления счетов одна запись с "billingTier": null достаточно. null значения числовых пределов означают неограниченность.

ПолеТипНеобходимыйОписание
idstringНеобходимыйУникальный идентификатор для этого набора лимитов (например, бесплатно, профессионально, по умолчанию).
maxTrackableItemsnumberНеобходимыйМаксимальное количество отслеживаемых элементов (формы + конечные точки API), которые пользователь может создать в каждой рабочей области.
maxResponsesPerSurveynumber | nullНеобходимыйМаксимально допустимое количество ответов на опрос/форму. ноль означает неограниченный.
maxWorkspaceMembersnumber | nullНеобходимыйМаксимальное количество участников в рабочей области. ноль означает неограниченный.
maxApiLogsPerMinutenumberНеобходимыйМаксимальное количество событий журнала, которые можно принимать в минуту на каждый отслеживаемый элемент. Избыточные запросы ограничены по скорости.
maxApiPayloadBytesnumberНеобходимыйМаксимальный размер в байтах одной полезной нагрузки журнала. Запросы большего размера отклоняются.
logRetentionDaysnumberНеобходимыйКоличество дней, в течение которых записи журнала хранятся до очистки. Применяется ко всем журналам на этом уровне.
maxCreatedWorkspacesnumber | nullНеобходимыйМаксимальное количество рабочих областей, которые может создать один пользователь. ноль означает неограниченный.
billingTierstring | nullНеобходимыйИдентификатор уровня выставления счетов, к которому применяется это ограничение. Должен соответствовать идентификатору в массиве billing.tiers. Установите значение null, чтобы применить это ограничение ко всем пользователям независимо от плана.

выставление счетов#


Дополнительная конфигурация выставления счетов для интеграции Lemon Squeezy. Если вы не используете платные планы, установите lemonSqueezyStoreId и manageUrl к null и уйти tiers как пустой массив. На значения идентификаторов уровня ссылаются ограничения[].billingTier — они должны точно совпадать.

ПолеТипНеобходимыйОписание
lemonSqueezyStoreIdstring | nullНеобязательныйВаш идентификатор магазина Lemon Squeezy. Требуется, если вы обрабатываете платежи через Lemon Squeezy.
manageUrlstring | nullНеобязательныйURL-адрес страницы управления платежами, доступной пользователям. Обычно это URL-адрес клиентского портала Lemon Squeezy.

billing.tiers[]

Массив уровней выставления счетов, отображаемый в пользовательском интерфейсе обновления. Каждый уровень должен иметь уникальный идентификатор, соответствующий соответствующей записи в лимитах[].billingTier.

ПолеТипНеобходимыйОписание
idstringНеобходимыйУникальный идентификатор уровня. На него ссылаются ограничения[].billingTier.
namestringНеобходимыйОтображаемое имя, отображаемое пользователям (например, Pro, Team).
priceLabelstringНеобходимыйСтрока цены, отображаемая в пользовательском интерфейсе (например, 25 долларов США).
priceIntervalstringНеобходимыйИнтервал выставления счетов указан под ценой (например, в месяц).
descriptionstringНеобходимыйКраткое описание того, что включает этот уровень.
tone"neutral" | "accent" | "strong"НеобходимыйВизуальная тема уровневой карты. акцентные и сильно выделенные стили; нейтральный — значение по умолчанию.
mostPopularbooleanНеобходимыйЕсли это правда, на карте этого уровня отображается значок «Самый популярный».
lemonSqueezyVariantIdstring | nullНеобязательныйИдентификатор варианта продукта Lemon Squeezy для этого уровня. Требуется для работы кассы.
enabledbooleanНеобходимыйЕсли установлено значение false, этот уровень скрыт в пользовательском интерфейсе обновления, даже если включено выставление счетов.

использование#


Глобальные элементы управления использованием API, которые применяются ко всем рабочим пространствам и пользователям.

ПолеТипНеобходимыйОписание
invalidApiKeyRateLimitPerMinutenumberНеобходимыйМаксимальное количество запросов с недействительным ключом API, разрешенное в минуту для каждого IP-адреса, прежде чем источник будет ограничен по скорости. Помогает предотвратить подтасовку учетных данных.
maxBodyBytesnumberНеобходимыйМаксимальный размер в байтах тела запроса журнала на уровне шлюза API. Запросы, превышающие это значение, отклоняются до достижения уровня обслуживания.
pageSizenumberНеобходимыйКоличество записей журнала, полученных на странице при загрузке средства просмотра журналов.

вебхуки#


Управляет очередью доставки исходящего веб-перехватчика, поддерживаемой Redis и BullMQ. Ограничение скорости здесь применяется к потребителю очереди, а не к приему входящего журнала.

ПолеТипНеобходимыйОписание
queue.enabledbooleanНеобходимыйЕсли установлено значение true, исходящие веб-перехватчики ставятся в очередь в Redis и доставляются асинхронно. Требуется, чтобы Redis был запущен.
queue.rateLimitMsnumberНеобходимыйМинимальное время ожидания в миллисекундах между последовательными доставками веб-перехватчика из очереди.
queue.rateLimitMaxnumberНеобходимыйМаксимальное количество событий веб-перехватчика, которое можно отправить в окнеrateLimitMs.

партия#


Конфигурация фонового пакетного планировщика. Планировщик также должен быть включен через features.batchSchedulerEnabled.

ПолеТипНеобходимыйОписание
schedulerTimeZonestringНеобходимыйСтрока часового пояса IANA, используемая для планирования пакетных заданий (например, UTC, Америка/Нью-Йорк). Влияет на запуск заданий на основе cron.