Odniesienie do pola konfiguracji

Pełne odniesienia do każdego pola w config.json. Ten plik kontroluje zachowanie produktu w czasie wykonywania — limity planu, rozliczenia, webhooki i flagi funkcji. Jest oddzielony od .env, który skrywa tajemnice i okablowanie infrastruktury.

Przykład startowy


Jest to zalecany punkt wyjścia w przypadku wdrożenia samodzielnego bez skonfigurowanych rozliczeń. Wszystkie limity ustawione na null (bez ograniczeń), a funkcje rozliczeniowe są wyłączone. Zastępować [email protected] z własnym adresem.

administratorzy#


Tablica adresów e-mail, którym przyznano dostęp administratora witryny. Administratorzy mają dostęp do uprzywilejowanych stron, takich jak harmonogram procesów wsadowych i ogólnosystemowe pulpity nawigacyjne użytkowania.

PoleTypWymaganyOpis
adminsstring[]WymaganyLista adresów e-mail z dostępem administracyjnym. Musi być zgodny z adresem e-mail powiązanym z kontem Clerk użytkownika.

cechy#


Flagi funkcji kontrolujące, które części interfejsu użytkownika produktu są aktywne. W przypadku prostych wdrożeń hostowanych samodzielnie możesz wyłączyć wszystkie funkcje rozliczeniowe i w razie potrzeby pozostawić tylko flagę programu planującego.

PoleTypWymaganyOpis
subscriptionEnforcementEnabledbooleanWymaganyJeśli ma wartość true, użytkownicy mogą przeglądać plany płatne i przechodzić na nie. Jeśli wartość ma wartość false, interfejs uaktualnienia wyświetla zamiast tego symbol zastępczy rozliczeń, który będzie wkrótce dostępny.
workspaceBillingEnabledbooleanWymaganyJeśli ma wartość true, poziomy rozliczeniowe i informacje o planie będą wyświetlane na pasku bocznym i w ustawieniach obszaru roboczego. Ustaw na false, aby całkowicie ukryć cały interfejs rozliczeniowy.
batchSchedulerEnabledbooleanWymaganyJeśli ma wartość true, harmonogram procesów wsadowych jest aktywny i dostępny dla administratora. Wymaga działania Redis i BullMQ.
customMCPServerTokensbooleanWymaganyJeśli ma wartość false, serwer MCP uwierzytelnia się przy użyciu standardowego tokena OAuth/Clerk. Jeśli ma wartość true, zamiast tego używane są samodzielnie zarządzane tokeny API — przydatne w środowiskach bez obsługi MCP Clerk.

limity#


Tablica zestawów limitów kontrolujących użycie zasobów. Każdy wpis można powiązać z poziomem rozliczeniowym za pośrednictwem billingTierlub ustaw na null dotyczyć wszystkich użytkowników niezależnie od planu. W przypadku prostych wdrożeń bez rozliczeń wystarczy pojedynczy wpis "billingTier": null jest wystarczające. null wartości limitów liczbowych oznaczają nieograniczone.

PoleTypWymaganyOpis
idstringWymaganyUnikalny identyfikator tego zestawu limitów (np. bezpłatny, profesjonalny, domyślny).
maxTrackableItemsnumberWymaganyMaksymalna liczba możliwych do śledzenia elementów (formularze + punkty końcowe API), które użytkownik może utworzyć na obszar roboczy.
maxResponsesPerSurveynumber | nullWymaganyMaksymalna liczba odpowiedzi dozwolona na ankietę/formularz. null oznacza nieograniczony.
maxWorkspaceMembersnumber | nullWymaganyMaksymalna liczba członków w obszarze roboczym. null oznacza nieograniczony.
maxApiLogsPerMinutenumberWymaganyMaksymalna liczba zdarzeń dziennika, które można pozyskać na minutę na element możliwy do śledzenia. Nadmiar żądań jest ograniczony stawką.
maxApiPayloadBytesnumberWymaganyMaksymalny rozmiar w bajtach ładunku pojedynczego dziennika. Żądania większe niż podane są odrzucane.
logRetentionDaysnumberWymaganyLiczba dni przechowywania wpisów dziennika przed ich usunięciem. Dotyczy wszystkich dzienników w tej warstwie.
maxCreatedWorkspacesnumber | nullWymaganyMaksymalna liczba obszarów roboczych, które może utworzyć pojedynczy użytkownik. null oznacza nieograniczony.
billingTierstring | nullWymaganyIdentyfikator poziomu rozliczeniowego, którego dotyczy ten limit. Musi pasować do identyfikatora w tablicy billing.tiers. Ustaw na null, aby zastosować ten limit do wszystkich użytkowników niezależnie od planu.

rozliczenia#


Opcjonalna konfiguracja rozliczeń dla integracji Lemon Squeezy. Jeśli nie korzystasz z płatnych planów, ustaw lemonSqueezyStoreId I manageUrl Do null i wyjdź tiers jako pusta tablica. Wartości identyfikatora poziomu odwołują się do limitów[].billingTier — muszą dokładnie pasować.

PoleTypWymaganyOpis
lemonSqueezyStoreIdstring | nullFakultatywnyTwój identyfikator sklepu Lemon Squeezy. Wymagane, jeśli przetwarzasz płatności za pośrednictwem Lemon Squeezy.
manageUrlstring | nullFakultatywnyAdres URL strony zarządzania płatnościami wyświetlanej użytkownikom. Zwykle jest to adres URL portalu klienta Lemon Squeezy.

billing.tiers[]

Tablica poziomów rozliczeniowych wyświetlana w interfejsie aktualizacji. Każdy poziom musi mieć unikalny identyfikator pasujący do odpowiedniego wpisu w limitach[].billingTier.

PoleTypWymaganyOpis
idstringWymaganyUnikalny identyfikator poziomu. Odwołuje się do limitów[].billingTier.
namestringWymaganyNazwa wyświetlana użytkownikom (np. Pro, Team).
priceLabelstringWymaganyCiąg cenowy wyświetlany w interfejsie użytkownika (np. 25 USD).
priceIntervalstringWymaganyOkres rozliczeniowy pokazany pod ceną (np. miesięczny).
descriptionstringWymaganyKrótki opis tego, co obejmuje ten poziom.
tone"neutral" | "accent" | "strong"WymaganyMotyw wizualny karty poziomu. akcent i mocny to podkreślone style; neutralny jest ustawieniem domyślnym.
mostPopularbooleanWymaganyJeśli ma wartość true, wyświetla odznakę Najpopularniejszej na karcie tego poziomu.
lemonSqueezyVariantIdstring | nullFakultatywnyIdentyfikator wariantu produktu Lemon Squeezy dla tego poziomu. Wymagane, aby płatność działała.
enabledbooleanWymaganyJeśli ma wartość false, ta warstwa jest ukryta w interfejsie użytkownika aktualizacji, nawet jeśli włączone są rozliczenia.

stosowanie#


Globalne kontrole użycia interfejsu API, które mają zastosowanie we wszystkich obszarach roboczych i użytkownikach.

PoleTypWymaganyOpis
invalidApiKeyRateLimitPerMinutenumberWymaganyMaksymalna liczba żądań z nieprawidłowym kluczem API dozwolona na minutę na adres IP, zanim źródło zostanie ograniczone. Pomaga zapobiegać upychaniu poświadczeń.
maxBodyBytesnumberWymaganyMaksymalny rozmiar w bajtach treści żądania dziennika na poziomie bramy interfejsu API. Żądania przekraczające ten limit są odrzucane przed dotarciem do warstwy usług.
pageSizenumberWymaganyLiczba wpisów dziennika pobranych na stronę podczas ładowania przeglądarki dziennika.

webhooki#


Kontroluje wychodzącą kolejkę dostarczania webhooka obsługiwaną przez Redis i BullMQ. Ograniczenie szybkości dotyczy tutaj konsumenta kolejki, a nie pozyskiwania dzienników przychodzących.

PoleTypWymaganyOpis
queue.enabledbooleanWymaganyJeśli ma wartość true, wychodzące webhooki są umieszczane w kolejce w Redis i dostarczane asynchronicznie. Wymaga działania Redis.
queue.rateLimitMsnumberWymaganyMinimalna liczba milisekund oczekiwania między kolejnymi dostawami elementu webhook z kolejki.
queue.rateLimitMaxnumberWymaganyMaksymalna liczba zdarzeń webhooka, które można wysłać w oknierateLimitMs.

seria#


Konfiguracja harmonogramu wsadowego w tle. Harmonogram musi być również włączony poprzez features.batchSchedulerEnabled.

PoleTypWymaganyOpis
schedulerTimeZonestringWymaganyCiąg znaków strefy czasowej IANA używany do planowania zadań wsadowych (np. UTC, America/New_York). Wpływa na moment uruchomienia zadań opartych na cron.