Riferimento al campo di configurazione
Riferimento completo per ogni campo in config.json. Questo file controlla il comportamento del prodotto runtime: limiti del piano, fatturazione, webhook e flag di funzionalità. È separato da .env, che detiene segreti e cablaggi infrastrutturali.
Esempio iniziale
Questo è il punto di partenza consigliato per una distribuzione self-hosted senza fatturazione configurata. Tutti i limiti sono impostati su null (illimitato) e le funzionalità di fatturazione sono disabilitate. Sostituire [email protected] con il tuo indirizzo
amministratrici#
Una serie di indirizzi e-mail a cui è concesso l'accesso come amministratore del sito. Gli amministratori possono accedere a pagine privilegiate come lo scheduler dei processi batch e i dashboard di utilizzo a livello di sistema.
| Campo | Tipa | Necessaria | Descrizione |
|---|---|---|---|
| admins | string[] | Necessaria | Elenco di indirizzi email con accesso amministratore. Deve corrispondere all'e-mail associata all'account Impiegato dell'utente. |
caratteristiche#
Flag di funzionalità che controllano quali parti dell'interfaccia utente del prodotto sono attive. Per semplici distribuzioni self-hosted, puoi disabilitare tutte le funzionalità di fatturazione e lasciare solo il flag di pianificazione, se necessario.
| Campo | Tipa | Necessaria | Descrizione |
|---|---|---|---|
| subscriptionEnforcementEnabled | boolean | Necessaria | Quando è vero, gli utenti possono visualizzare ed eseguire l'upgrade ai piani a pagamento. Se false, l'interfaccia utente dell'aggiornamento mostra invece un segnaposto per la fatturazione in arrivo. |
| workspaceBillingEnabled | boolean | Necessaria | Quando è vero, i livelli di fatturazione e le informazioni sul piano vengono visualizzati nella barra laterale e nelle impostazioni dell'area di lavoro. Imposta su false per nascondere completamente tutta l'interfaccia utente di fatturazione. |
| batchSchedulerEnabled | boolean | Necessaria | Quando è vero, lo scheduler dell'elaborazione batch è attivo e accessibile all'amministratore. Richiede Redis e BullMQ per essere in esecuzione. |
| customMCPServerTokens | boolean | Necessaria | Se falso, il server MCP esegue l'autenticazione utilizzando il token OAuth/Clerk standard. Quando è vero, vengono invece utilizzati token API autogestiti, utili per ambienti senza supporto Clerk MCP. |
limiti#
Una serie di set di limiti che controllano l'utilizzo delle risorse. Ogni voce può essere collegata a un livello di fatturazione tramite billingTiero impostare su null da applicare a tutti gli utenti indipendentemente dal piano. Per implementazioni semplici senza fatturazione, un'unica voce con "billingTier": null è sufficiente. null i valori per i limiti numerici significano illimitato.
| Campo | Tipa | Necessaria | Descrizione |
|---|---|---|---|
| id | string | Necessaria | Identificatore univoco per questo set di limiti (ad esempio gratuito, pro, predefinito). |
| maxTrackableItems | number | Necessaria | Numero massimo di elementi tracciabili (moduli + endpoint API) che un utente può creare per area di lavoro. |
| maxResponsesPerSurvey | number | null | Necessaria | Numero massimo di risposte consentite per sondaggio/modulo. null significa illimitato. |
| maxWorkspaceMembers | number | null | Necessaria | Numero massimo di membri in un'area di lavoro. null significa illimitato. |
| maxApiLogsPerMinute | number | Necessaria | Numero massimo di eventi di log che possono essere inseriti al minuto per elemento tracciabile. Le richieste in eccesso hanno una tariffa limitata. |
| maxApiPayloadBytes | number | Necessaria | Dimensione massima in byte di un singolo payload del log. Le richieste superiori a questa vengono respinte. |
| logRetentionDays | number | Necessaria | Numero di giorni in cui le voci del registro vengono conservate prima di essere eliminate. Si applica a tutti i log all'interno di questo livello. |
| maxCreatedWorkspaces | number | null | Necessaria | Numero massimo di aree di lavoro che un singolo utente può creare. null significa illimitato. |
| billingTier | string | null | Necessaria | L'ID del livello di fatturazione a cui si applica questo limite. Deve corrispondere a un ID nell'array billing.tiers. Imposta su null per applicare questo limite a tutti gli utenti indipendentemente dal piano. |
fatturazione#
Configurazione di fatturazione opzionale per l'integrazione di Lemon Squeezy. Se non utilizzi piani a pagamento, imposta lemonSqueezyStoreId E manageUrl A null e andarsene tiers come un array vuoto. I valori dell'ID livello sono indicati da limiti[].billingTier: devono corrispondere esattamente.
| Campo | Tipa | Necessaria | Descrizione |
|---|---|---|---|
| lemonSqueezyStoreId | string | null | Opzionale | Il tuo ID negozio Lemon Squeezy. Obbligatorio se stai elaborando pagamenti tramite Lemon Squeezy. |
| manageUrl | string | null | Opzionale | URL della pagina di gestione della fatturazione mostrata agli utenti. In genere l'URL del portale clienti Lemon Squeezy. |
billing.tiers[]
Matrice di livelli di fatturazione visualizzati nell'interfaccia utente di aggiornamento. Ogni livello deve avere un ID univoco che corrisponda a una voce corrispondente in limiti[].billingTier.
| Campo | Tipa | Necessaria | Descrizione |
|---|---|---|---|
| id | string | Necessaria | Identificatore univoco del livello. Referenziato da bounds[].billingTier. |
| name | string | Necessaria | Nome visualizzato mostrato agli utenti (ad esempio Pro, Team). |
| priceLabel | string | Necessaria | Stringa di prezzo mostrata nell'interfaccia utente (ad esempio $ 25). |
| priceInterval | string | Necessaria | Intervallo di fatturazione indicato sotto il prezzo (ad esempio al mese). |
| description | string | Necessaria | Breve descrizione di cosa include questo livello. |
| tone | "neutral" | "accent" | "strong" | Necessaria | Tema visivo della carta livello. accento e forte sono gli stili evidenziati; neutro è l'impostazione predefinita. |
| mostPopular | boolean | Necessaria | Se vero, mostra il badge Più popolare sulla scheda di questo livello. |
| lemonSqueezyVariantId | string | null | Opzionale | ID variante prodotto Lemon Squeezy per questo livello. Necessario per il funzionamento del checkout. |
| enabled | boolean | Necessaria | Se false, questo livello viene nascosto dall'interfaccia utente di aggiornamento anche se la fatturazione è abilitata. |
utilizzo#
Controlli globali sull'utilizzo dell'API applicabili a tutte le aree di lavoro e a tutti gli utenti.
| Campo | Tipa | Necessaria | Descrizione |
|---|---|---|---|
| invalidApiKeyRateLimitPerMinute | number | Necessaria | Numero massimo di richieste con una chiave API non valida consentito al minuto per IP prima che la velocità dell'origine venga limitata. Aiuta a prevenire il riempimento delle credenziali. |
| maxBodyBytes | number | Necessaria | Dimensione massima in byte per il corpo di una richiesta di log a livello di gateway API. Le richieste che superano questo limite vengono rifiutate prima di raggiungere il livello di servizio. |
| pageSize | number | Necessaria | Numero di voci di registro recuperate per pagina durante il caricamento del visualizzatore di registro. |
webhook#
Controlla la coda di consegna del webhook in uscita supportata da Redis e BullMQ. La limitazione della velocità in questo caso si applica al consumatore della coda, non all'inserimento dei log in entrata.
| Campo | Tipa | Necessaria | Descrizione |
|---|---|---|---|
| queue.enabled | boolean | Necessaria | Quando è vero, i webhook in uscita vengono accodati in Redis e consegnati in modo asincrono. Richiede che Redis sia in esecuzione. |
| queue.rateLimitMs | number | Necessaria | Millisecondi minimi di attesa tra consegne consecutive di webhook dalla coda. |
| queue.rateLimitMax | number | Necessaria | Numero massimo di eventi webhook che possono essere inviati all'interno della finestra rateLimitMs. |
lotto#
Configurazione per lo scheduler batch in background. Anche lo scheduler deve essere abilitato tramite features.batchSchedulerEnabled.
| Campo | Tipa | Necessaria | Descrizione |
|---|---|---|---|
| schedulerTimeZone | string | Necessaria | Stringa del fuso orario IANA utilizzata per la pianificazione di processi batch (ad esempio UTC, America/New_York). Influisce sull'attivazione dei processi basati su cron. |