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.

CampoTipaNecessariaDescrizione
adminsstring[]NecessariaElenco 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.

CampoTipaNecessariaDescrizione
subscriptionEnforcementEnabledbooleanNecessariaQuando è 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.
workspaceBillingEnabledbooleanNecessariaQuando è 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.
batchSchedulerEnabledbooleanNecessariaQuando è vero, lo scheduler dell'elaborazione batch è attivo e accessibile all'amministratore. Richiede Redis e BullMQ per essere in esecuzione.
customMCPServerTokensbooleanNecessariaSe 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.

CampoTipaNecessariaDescrizione
idstringNecessariaIdentificatore univoco per questo set di limiti (ad esempio gratuito, pro, predefinito).
maxTrackableItemsnumberNecessariaNumero massimo di elementi tracciabili (moduli + endpoint API) che un utente può creare per area di lavoro.
maxResponsesPerSurveynumber | nullNecessariaNumero massimo di risposte consentite per sondaggio/modulo. null significa illimitato.
maxWorkspaceMembersnumber | nullNecessariaNumero massimo di membri in un'area di lavoro. null significa illimitato.
maxApiLogsPerMinutenumberNecessariaNumero massimo di eventi di log che possono essere inseriti al minuto per elemento tracciabile. Le richieste in eccesso hanno una tariffa limitata.
maxApiPayloadBytesnumberNecessariaDimensione massima in byte di un singolo payload del log. Le richieste superiori a questa vengono respinte.
logRetentionDaysnumberNecessariaNumero 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.
maxCreatedWorkspacesnumber | nullNecessariaNumero massimo di aree di lavoro che un singolo utente può creare. null significa illimitato.
billingTierstring | nullNecessariaL'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.

CampoTipaNecessariaDescrizione
lemonSqueezyStoreIdstring | nullOpzionaleIl tuo ID negozio Lemon Squeezy. Obbligatorio se stai elaborando pagamenti tramite Lemon Squeezy.
manageUrlstring | nullOpzionaleURL 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.

CampoTipaNecessariaDescrizione
idstringNecessariaIdentificatore univoco del livello. Referenziato da bounds[].billingTier.
namestringNecessariaNome visualizzato mostrato agli utenti (ad esempio Pro, Team).
priceLabelstringNecessariaStringa di prezzo mostrata nell'interfaccia utente (ad esempio $ 25).
priceIntervalstringNecessariaIntervallo di fatturazione indicato sotto il prezzo (ad esempio al mese).
descriptionstringNecessariaBreve descrizione di cosa include questo livello.
tone"neutral" | "accent" | "strong"NecessariaTema visivo della carta livello. accento e forte sono gli stili evidenziati; neutro è l'impostazione predefinita.
mostPopularbooleanNecessariaSe vero, mostra il badge Più popolare sulla scheda di questo livello.
lemonSqueezyVariantIdstring | nullOpzionaleID variante prodotto Lemon Squeezy per questo livello. Necessario per il funzionamento del checkout.
enabledbooleanNecessariaSe 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.

CampoTipaNecessariaDescrizione
invalidApiKeyRateLimitPerMinutenumberNecessariaNumero 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.
maxBodyBytesnumberNecessariaDimensione 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.
pageSizenumberNecessariaNumero 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.

CampoTipaNecessariaDescrizione
queue.enabledbooleanNecessariaQuando è vero, i webhook in uscita vengono accodati in Redis e consegnati in modo asincrono. Richiede che Redis sia in esecuzione.
queue.rateLimitMsnumberNecessariaMillisecondi minimi di attesa tra consegne consecutive di webhook dalla coda.
queue.rateLimitMaxnumberNecessariaNumero 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.

CampoTipaNecessariaDescrizione
schedulerTimeZonestringNecessariaStringa 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.