Referência do campo de configuração

Referência completa para todos os campos em config.json. Este arquivo controla o comportamento do produto em tempo de execução – limites do plano, faturamento, webhooks e sinalizadores de recursos. É separado de .env, que guarda segredos e fiação de infraestrutura.

Exemplo inicial


Este é o ponto de partida recomendado para uma implantação auto-hospedada sem cobrança configurada. Todos os limites estão definidos para null (ilimitado) e os recursos de faturamento estão desativados. Substituir [email protected] com seu próprio endereço.

administradores#


Uma matriz de endereços de e-mail aos quais é concedido acesso de administrador do site. Os administradores podem acessar páginas privilegiadas, como o agendador de processos em lote e painéis de uso de todo o sistema.

CampoTipoObrigatóriaDescrição
adminsstring[]ObrigatóriaLista de endereços de e-mail com acesso de administrador. Deve corresponder ao e-mail associado à conta de funcionário do usuário.

características#


Sinalizadores de recursos que controlam quais partes da IU do produto estão ativas. Para implantações simples auto-hospedadas, você pode desabilitar todos os recursos de cobrança e deixar apenas o sinalizador do agendador, se necessário.

CampoTipoObrigatóriaDescrição
subscriptionEnforcementEnabledbooleanObrigatóriaQuando verdadeiro, os usuários podem visualizar e fazer upgrade para planos pagos. Quando falso, a IU de atualização mostra um espaço reservado para cobrança em breve.
workspaceBillingEnabledbooleanObrigatóriaQuando verdadeiro, os níveis de cobrança e as informações do plano aparecem na barra lateral e nas configurações do espaço de trabalho. Defina como falso para ocultar totalmente toda a IU de cobrança.
batchSchedulerEnabledbooleanObrigatóriaQuando verdadeiro, o agendador do processo em lote fica ativo e acessível pelo administrador. Requer que Redis e BullMQ estejam em execução.
customMCPServerTokensbooleanObrigatóriaQuando falso, o servidor MCP autentica usando o token OAuth/Clerk padrão. Quando verdadeiro, tokens de API autogerenciados são usados ​​— úteis para ambientes sem suporte do Clerk MCP.

limites#


Uma série de conjuntos de limites que controlam o uso de recursos. Cada entrada pode ser vinculada a um nível de faturamento por meio de billingTier, ou definido como null para se aplicar a todos os usuários, independentemente do plano. Para implantações simples sem cobrança, uma única entrada com "billingTier": null é suficiente. null valores para limites numéricos significam ilimitado.

CampoTipoObrigatóriaDescrição
idstringObrigatóriaIdentificador exclusivo para este conjunto de limites (por exemplo, gratuito, profissional, padrão).
maxTrackableItemsnumberObrigatóriaNúmero máximo de itens rastreáveis ​​(formulários + endpoints de API) que um usuário pode criar por workspace.
maxResponsesPerSurveynumber | nullObrigatóriaNúmero máximo de respostas permitidas por pesquisa/formulário. nulo significa ilimitado.
maxWorkspaceMembersnumber | nullObrigatóriaNúmero máximo de membros em um espaço de trabalho. nulo significa ilimitado.
maxApiLogsPerMinutenumberObrigatóriaNúmero máximo de eventos de log que podem ser ingeridos por minuto por item rastreável. Solicitações em excesso têm taxa limitada.
maxApiPayloadBytesnumberObrigatóriaTamanho máximo em bytes de uma única carga de log. Solicitações maiores que isso serão rejeitadas.
logRetentionDaysnumberObrigatóriaNúmero de dias em que as entradas de log são retidas antes de serem eliminadas. Aplica-se a todos os logs nesta camada.
maxCreatedWorkspacesnumber | nullObrigatóriaNúmero máximo de espaços de trabalho que um único usuário pode criar. nulo significa ilimitado.
billingTierstring | nullObrigatóriaO ID do nível de cobrança ao qual esse limite se aplica. Deve corresponder a um ID na matriz billing.tiers. Defina como nulo para aplicar esse limite a todos os usuários, independentemente do plano.

cobrança#


Configuração de faturamento opcional para integração com Lemon Squeezy. Se você não estiver usando planos pagos, defina lemonSqueezyStoreId e manageUrl para null e sair tiers como uma matriz vazia. Os valores de ID de camada são referenciados por limites[].billingTier — eles devem corresponder exatamente.

CampoTipoObrigatóriaDescrição
lemonSqueezyStoreIdstring | nullOpcionalSeu ID da loja Lemon Squeezy. Obrigatório se você estiver processando pagamentos através do Lemon Squeezy.
manageUrlstring | nullOpcionalURL para a página de gerenciamento de faturamento mostrada aos usuários. Normalmente, o URL do portal do cliente Lemon Squeezy.

billing.tiers[]

Matriz de níveis de cobrança exibidos na IU de atualização. Cada camada deve ter um ID exclusivo que corresponda a uma entrada correspondente em limites[].billingTier.

CampoTipoObrigatóriaDescrição
idstringObrigatóriaIdentificador de nível exclusivo. Referenciado por limites[].billingTier.
namestringObrigatóriaNome de exibição mostrado aos usuários (por exemplo, Pro, Team).
priceLabelstringObrigatóriaString de preço mostrada na IU (por exemplo, US$ 25).
priceIntervalstringObrigatóriaIntervalo de cobrança mostrado abaixo do preço (por exemplo, por mês).
descriptionstringObrigatóriaBreve descrição do que esta camada inclui.
tone"neutral" | "accent" | "strong"ObrigatóriaTema visual do cartão de nível. sotaque e forte são estilos destacados; neutro é o padrão.
mostPopularbooleanObrigatóriaQuando verdadeiro, mostra um selo Mais Popular neste cartão de nível.
lemonSqueezyVariantIdstring | nullOpcionalID da variante do produto Lemon Squeezy para esta camada. Necessário para que o checkout funcione.
enabledbooleanObrigatóriaQuando falso, esse nível fica oculto na IU de atualização, mesmo que a cobrança esteja habilitada.

uso#


Controles globais de uso de API que se aplicam a todos os espaços de trabalho e usuários.

CampoTipoObrigatóriaDescrição
invalidApiKeyRateLimitPerMinutenumberObrigatóriaNúmero máximo de solicitações com uma chave de API inválida permitida por minuto por IP antes que a origem seja limitada pela taxa. Ajuda a evitar o excesso de credenciais.
maxBodyBytesnumberObrigatóriaTamanho máximo em bytes para um corpo de solicitação de log no nível do gateway de API. Solicitações que excedam esse valor são rejeitadas antes de atingirem a camada de serviço.
pageSizenumberObrigatóriaNúmero de entradas de log buscadas por página ao carregar o visualizador de log.

webhooks#


Controla a fila de entrega de webhook de saída apoiada por Redis e BullMQ. A limitação de taxa aqui se aplica ao consumidor da fila, não à ingestão de log de entrada.

CampoTipoObrigatóriaDescrição
queue.enabledbooleanObrigatóriaQuando verdadeiro, os webhooks de saída são enfileirados no Redis e entregues de forma assíncrona. Requer que o Redis esteja em execução.
queue.rateLimitMsnumberObrigatóriaMilissegundos mínimos de espera entre entregas consecutivas de webhook da fila.
queue.rateLimitMaxnumberObrigatóriaNúmero máximo de eventos de webhook que podem ser enviados na janela rateLimitMs.

lote#


Configuração para o agendador de lote em segundo plano. O agendador também deve ser habilitado via features.batchSchedulerEnabled.

CampoTipoObrigatóriaDescrição
schedulerTimeZonestringObrigatóriaString de fuso horário IANA usada para agendar trabalhos em lote (por exemplo, UTC, América/Nova_Iorque). Afeta quando os jobs baseados em cron são acionados.