Veldreferentie configureren
Volledige referentie voor elk veld in config.json. Dit bestand regelt het runtime-productgedrag: planlimieten, facturering, webhooks en functievlaggen. Het staat los van .env, dat geheimen en infrastructuurbedrading bevat.
Start voorbeeld
Dit is het aanbevolen startpunt voor een zelf-hostende implementatie zonder dat er facturering is geconfigureerd. Alle limieten zijn ingesteld op null (onbeperkt) en factureringsfuncties zijn uitgeschakeld. Vervangen [email protected] met uw eigen adres.
beheerders#
Een reeks e-mailadressen waaraan sitebeheerderstoegang wordt verleend. Beheerders hebben toegang tot bevoorrechte pagina's, zoals de batchprocesplanner en systeembrede gebruiksdashboards.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
| admins | string[] | Vereist | Lijst met e-mailadressen met beheerderstoegang. Moet overeenkomen met het e-mailadres dat is gekoppeld aan het Clerk-account van de gebruiker. |
functies#
Functievlaggen die bepalen welke delen van de productinterface actief zijn. Voor eenvoudige, zelfgehoste implementaties kunt u alle factureringsfuncties uitschakelen en indien nodig alleen de plannervlag laten staan.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
| subscriptionEnforcementEnabled | boolean | Vereist | Wanneer dit waar is, kunnen gebruikers betaalde abonnementen bekijken en upgraden. Als dit niet waar is, toont de upgrade-UI in plaats daarvan een tijdelijke aanduiding voor facturering. |
| workspaceBillingEnabled | boolean | Vereist | Indien waar, verschijnen factureringsniveaus en abonnementsgegevens in de zijbalk en in de werkruimte-instellingen. Stel deze in op false om de gehele factureringsinterface volledig te verbergen. |
| batchSchedulerEnabled | boolean | Vereist | Indien waar, is de batchprocesplanner actief en toegankelijk voor de beheerder. Vereist dat Redis en BullMQ actief zijn. |
| customMCPServerTokens | boolean | Vereist | Als dit niet waar is, verifieert de MCP-server met behulp van het standaard OAuth/Clerk-token. Wanneer dit waar is, worden in plaats daarvan zelfbeheerde API-tokens gebruikt: handig voor omgevingen zonder Clerk MCP-ondersteuning. |
grenzen#
Een reeks limietsets die het resourcegebruik bepalen. Elke invoer kan worden gekoppeld aan een factureringsniveau via billingTier, of ingesteld op null van toepassing op alle gebruikers, ongeacht het abonnement. Voor eenvoudige implementaties zonder facturering, één enkele invoer met "billingTier": null is voldoende. null waarden voor numerieke limieten betekenen onbeperkt.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
| id | string | Vereist | Unieke identificatie voor deze limietset (bijvoorbeeld gratis, pro, standaard). |
| maxTrackableItems | number | Vereist | Maximaal aantal traceerbare items (formulieren + API-eindpunten) dat een gebruiker per werkruimte kan maken. |
| maxResponsesPerSurvey | number | null | Vereist | Maximaal aantal toegestane reacties per enquête/formulier. nul betekent onbeperkt. |
| maxWorkspaceMembers | number | null | Vereist | Maximaal aantal leden in een werkruimte. nul betekent onbeperkt. |
| maxApiLogsPerMinute | number | Vereist | Maximaal aantal logboekgebeurtenissen dat per minuut per traceerbaar item kan worden opgenomen. Voor overtollige verzoeken geldt een tariefbeperking. |
| maxApiPayloadBytes | number | Vereist | Maximale grootte in bytes van één logboekpayload. Verzoeken groter dan dit worden afgewezen. |
| logRetentionDays | number | Vereist | Aantal dagen dat logboekvermeldingen worden bewaard voordat ze worden opgeschoond. Geldt voor alle logboeken binnen deze laag. |
| maxCreatedWorkspaces | number | null | Vereist | Maximaal aantal werkruimten dat één gebruiker kan maken. nul betekent onbeperkt. |
| billingTier | string | null | Vereist | De factureringslaag-ID waarop deze limiet van toepassing is. Moet overeenkomen met een ID in de billing.tiers-matrix. Stel deze in op null om deze limiet toe te passen op alle gebruikers, ongeacht het abonnement. |
facturering#
Optionele factureringsconfiguratie voor Lemon Squeezy-integratie. Als u geen betaalde abonnementen gebruikt, stelt u dit in lemonSqueezyStoreId En manageUrl naar null en vertrek tiers als een lege array. Er wordt verwezen naar niveau-id-waarden door limit[].billingTier: ze moeten exact overeenkomen.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
| lemonSqueezyStoreId | string | null | Optioneel | Uw Lemon Squeezy-winkel-ID. Vereist als u betalingen verwerkt via Lemon Squeezy. |
| manageUrl | string | null | Optioneel | URL naar de factureringsbeheerpagina die aan gebruikers wordt getoond. Meestal de URL van uw Lemon Squeezy-klantportaal. |
billing.tiers[]
Array van factureringslagen die worden weergegeven in de upgrade-UI. Elke laag moet een unieke ID hebben die overeenkomt met een overeenkomstige vermelding in borders[].billingTier.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
| id | string | Vereist | Unieke niveau-ID. Er wordt verwezen naar limieten[].billingTier. |
| name | string | Vereist | Weergavenaam die aan gebruikers wordt getoond (bijvoorbeeld Pro, Team). |
| priceLabel | string | Vereist | Prijsreeks weergegeven in de gebruikersinterface (bijvoorbeeld $ 25). |
| priceInterval | string | Vereist | Factureringsinterval weergegeven onder de prijs (bijvoorbeeld per maand). |
| description | string | Vereist | Korte beschrijving van wat deze laag inhoudt. |
| tone | "neutral" | "accent" | "strong" | Vereist | Visueel thema van de niveaukaart. accent en sterk zijn gemarkeerde stijlen; neutraal is de standaard. |
| mostPopular | boolean | Vereist | Als dit waar is, wordt er een badge Meest populair weergegeven op deze niveaukaart. |
| lemonSqueezyVariantId | string | null | Optioneel | Lemon Squeezy-productvariant-ID voor dit niveau. Vereist om afrekenen te laten werken. |
| enabled | boolean | Vereist | Indien onwaar, wordt deze laag verborgen voor de upgrade-UI, zelfs als facturering is ingeschakeld. |
gebruik#
Globale API-gebruikscontroles die van toepassing zijn op alle werkruimten en gebruikers.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
| invalidApiKeyRateLimitPerMinute | number | Vereist | Het maximale aantal toegestane aanvragen met een ongeldige API-sleutel per minuut per IP voordat de bron wordt beperkt. Helpt het opvullen van inloggegevens te voorkomen. |
| maxBodyBytes | number | Vereist | Maximale grootte in bytes voor de hoofdtekst van een logboekaanvraag op API-gatewayniveau. Verzoeken die dit overschrijden, worden afgewezen voordat ze de servicelaag bereiken. |
| pageSize | number | Vereist | Aantal opgehaalde loggegevens per pagina bij het laden van de logviewer. |
webhaken#
Beheert de uitgaande webhook-bezorgwachtrij, ondersteund door Redis en BullMQ. De snelheidsbeperking is hier van toepassing op de wachtrijconsument, niet op inkomende logboekopname.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
| queue.enabled | boolean | Vereist | Wanneer dit waar is, worden uitgaande webhooks in Redis in de wachtrij geplaatst en asynchroon afgeleverd. Vereist dat Redis actief is. |
| queue.rateLimitMs | number | Vereist | Minimale milliseconden om te wachten tussen opeenvolgende webhookleveringen uit de wachtrij. |
| queue.rateLimitMax | number | Vereist | Maximaal aantal webhook-gebeurtenissen dat kan worden verzonden binnen het rateLimitMs-venster. |
partij#
Configuratie voor de batchplanner op de achtergrond. De planner moet ook worden ingeschakeld via features.batchSchedulerEnabled.
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
| schedulerTimeZone | string | Vereist | IANA-tijdzonereeks die wordt gebruikt voor het plannen van batchtaken (bijvoorbeeld UTC, Amerika/New_York). Heeft invloed op het moment waarop op cron gebaseerde taken worden geactiveerd. |