Referensi Bidang Konfigurasi

Referensi lengkap untuk setiap bidang di config.json. File ini mengontrol perilaku produk runtime — batas paket, penagihan, webhook, dan tanda fitur. Itu terpisah dari .env, yang menyimpan rahasia dan kabel infrastruktur.

Contoh Pemula


Ini adalah titik awal yang direkomendasikan untuk penerapan yang dihosting sendiri tanpa konfigurasi penagihan. Semua batasan ditetapkan ke null (tidak terbatas), dan fitur penagihan dinonaktifkan. Mengganti [email protected] dengan alamatmu sendiri.

admin#


Serangkaian alamat email yang diberikan akses admin situs. Admin dapat mengakses halaman istimewa seperti penjadwal proses batch dan dasbor penggunaan seluruh sistem.

BidangJenisDiperlukanKeterangan
adminsstring[]DiperlukanDaftar alamat email dengan akses admin. Harus cocok dengan email yang terkait dengan akun Panitera pengguna.

fitur#


Tanda fitur yang mengontrol bagian UI produk mana yang aktif. Untuk penerapan sederhana yang dihosting sendiri, Anda dapat menonaktifkan semua fitur penagihan dan hanya membiarkan tanda penjadwal jika diperlukan.

BidangJenisDiperlukanKeterangan
subscriptionEnforcementEnabledbooleanDiperlukanJika benar, pengguna dapat melihat dan meningkatkan ke paket berbayar. Jika salah, UI pemutakhiran akan menampilkan placeholder penagihan segera hadir.
workspaceBillingEnabledbooleanDiperlukanJika benar, tingkat penagihan dan informasi paket akan muncul di bar samping dan pengaturan ruang kerja. Setel ke false untuk menyembunyikan seluruh UI penagihan.
batchSchedulerEnabledbooleanDiperlukanJika benar, penjadwal proses batch aktif dan dapat diakses admin. Membutuhkan Redis dan BullMQ untuk berjalan.
customMCPServerTokensbooleanDiperlukanJika salah, server MCP mengautentikasi menggunakan token OAuth/Clerk standar. Jika benar, token API yang dikelola sendiri akan digunakan — berguna untuk lingkungan tanpa dukungan Clerk MCP.

batas#


Serangkaian kumpulan batas yang mengontrol penggunaan sumber daya. Setiap entri dapat dikaitkan dengan tingkat penagihan melalui billingTier, atau atur ke null untuk diterapkan ke semua pengguna apa pun paketnya. Untuk penerapan sederhana tanpa penagihan, satu entri dengan "billingTier": null sudah cukup. null nilai batas numerik berarti tidak terbatas.

BidangJenisDiperlukanKeterangan
idstringDiperlukanPengidentifikasi unik untuk kumpulan batas ini (misalnya gratis, pro, default).
maxTrackableItemsnumberDiperlukanJumlah maksimum item yang dapat dilacak (formulir + titik akhir API) yang dapat dibuat pengguna per ruang kerja.
maxResponsesPerSurveynumber | nullDiperlukanJumlah maksimum tanggapan yang diperbolehkan per survei/formulir. null artinya tidak terbatas.
maxWorkspaceMembersnumber | nullDiperlukanJumlah maksimum anggota di ruang kerja. null artinya tidak terbatas.
maxApiLogsPerMinutenumberDiperlukanJumlah maksimum peristiwa log yang dapat diserap per menit per item yang dapat dilacak. Permintaan berlebih dibatasi tarifnya.
maxApiPayloadBytesnumberDiperlukanUkuran maksimum dalam byte dari satu muatan log. Permintaan yang lebih besar dari ini ditolak.
logRetentionDaysnumberDiperlukanJumlah hari entri log disimpan sebelum dihapus. Berlaku untuk semua log dalam tingkat ini.
maxCreatedWorkspacesnumber | nullDiperlukanJumlah maksimum ruang kerja yang dapat dibuat oleh satu pengguna. null artinya tidak terbatas.
billingTierstring | nullDiperlukanID tingkat penagihan yang menerapkan batas ini. Harus cocok dengan id di array billing.tiers. Setel ke nol untuk menerapkan batas ini ke semua pengguna, apa pun paketnya.

penagihan#


Konfigurasi penagihan opsional untuk integrasi Lemon Squeezy. Jika Anda tidak menggunakan paket berbayar, setel lemonSqueezyStoreId Dan manageUrl ke null dan pergi tiers sebagai array kosong. Nilai id tingkat direferensikan oleh batas[].billingTier — nilai tersebut harus sama persis.

BidangJenisDiperlukanKeterangan
lemonSqueezyStoreIdstring | nullOpsionalID toko Lemon Squeezy Anda. Diperlukan jika Anda memproses pembayaran melalui Lemon Squeezy.
manageUrlstring | nullOpsionalURL ke laman pengelolaan penagihan yang ditampilkan kepada pengguna. Biasanya URL portal pelanggan Lemon Squeezy Anda.

billing.tiers[]

Rangkaian tingkat penagihan ditampilkan di UI pemutakhiran. Setiap tingkatan harus memiliki id unik yang cocok dengan entri terkait di batas[].billingTier.

BidangJenisDiperlukanKeterangan
idstringDiperlukanPengidentifikasi tingkat unik. Dirujuk oleh batas[].billingTier.
namestringDiperlukanNama tampilan ditampilkan kepada pengguna (misalnya Pro, Tim).
priceLabelstringDiperlukanString harga ditampilkan di UI (misalnya $25).
priceIntervalstringDiperlukanInterval penagihan ditampilkan di bawah harga (misalnya per bulan).
descriptionstringDiperlukanDeskripsi singkat tentang apa yang termasuk dalam tingkatan ini.
tone"neutral" | "accent" | "strong"DiperlukanTema visual kartu tingkat. aksen dan kuat adalah gaya yang ditonjolkan; netral adalah defaultnya.
mostPopularbooleanDiperlukanJika benar, tampilkan lencana Paling Populer di kartu tingkat ini.
lemonSqueezyVariantIdstring | nullOpsionalID varian produk Lemon Squeezy untuk tingkatan ini. Diperlukan agar checkout berfungsi.
enabledbooleanDiperlukanJika salah, tingkat ini disembunyikan dari UI pemutakhiran meskipun penagihan diaktifkan.

penggunaan#


Kontrol penggunaan API global yang berlaku di seluruh ruang kerja dan pengguna.

BidangJenisDiperlukanKeterangan
invalidApiKeyRateLimitPerMinutenumberDiperlukanJumlah maksimum permintaan dengan kunci API tidak valid yang diperbolehkan per menit per IP sebelum sumber dibatasi tarifnya. Membantu mencegah isian kredensial.
maxBodyBytesnumberDiperlukanUkuran maksimum dalam byte untuk isi permintaan log di tingkat gateway API. Permintaan yang melebihi ini ditolak sebelum mencapai lapisan layanan.
pageSizenumberDiperlukanJumlah entri log yang diambil per halaman saat memuat penampil log.

webhook#


Mengontrol antrean pengiriman webhook keluar yang didukung oleh Redis dan BullMQ. Pembatasan tarif di sini berlaku untuk konsumen antrean, bukan untuk penyerapan log masuk.

BidangJenisDiperlukanKeterangan
queue.enabledbooleanDiperlukanJika benar, webhook keluar akan dimasukkan ke dalam antrean di Redis dan dikirimkan secara asinkron. Membutuhkan Redis untuk berjalan.
queue.rateLimitMsnumberDiperlukanMilidetik minimum untuk menunggu antara pengiriman webhook berturut-turut dari antrean.
queue.rateLimitMaxnumberDiperlukanJumlah maksimum peristiwa webhook yang dapat dikirim dalam jendela rateLimitMs.

kelompok#


Konfigurasi untuk penjadwal batch latar belakang. Penjadwal juga harus diaktifkan melalui features.batchSchedulerEnabled.

BidangJenisDiperlukanKeterangan
schedulerTimeZonestringDiperlukanString zona waktu IANA digunakan untuk menjadwalkan pekerjaan batch (misalnya UTC, Amerika/New_York). Mempengaruhi ketika pekerjaan berbasis cron terpicu.