مرجع حقل التكوين

مرجع كامل لكل مجال في config.json. يتحكم هذا الملف في سلوك المنتج في وقت التشغيل - حدود الخطة، والفوترة، وخطافات الويب، وعلامات الميزات. إنه منفصل عن .envالذي يحمل الأسرار وأسلاك البنية التحتية.

مثال المبتدئين


هذه هي نقطة البداية الموصى بها للنشر المستضاف ذاتيًا دون تكوين الفوترة. تم ضبط كافة الحدود على null (غير محدود)، وتم تعطيل ميزات الفوترة. يستبدل [email protected] مع عنوانك الخاص.

مدراء#


مجموعة من عناوين البريد الإلكتروني التي تم منحها حق وصول مسؤول الموقع. يمكن للمسؤولين الوصول إلى الصفحات المميزة مثل جدولة العمليات المجمعة ولوحات معلومات الاستخدام على مستوى النظام.

مجاليكتبمطلوبوصف
adminsstring[]مطلوبقائمة عناوين البريد الإلكتروني التي تتمتع بحق الوصول الإداري. يجب أن يتطابق مع البريد الإلكتروني المرتبط بحساب الكاتب الخاص بالمستخدم.

سمات#


علامات الميزة التي تتحكم في أجزاء واجهة مستخدم المنتج النشطة. بالنسبة لعمليات النشر البسيطة ذاتية الاستضافة، يمكنك تعطيل جميع ميزات الفوترة وترك علامة المجدول فقط إذا لزم الأمر.

مجاليكتبمطلوبوصف
subscriptionEnforcementEnabledbooleanمطلوبعندما يكون هذا صحيحًا، يمكن للمستخدمين عرض الخطط المدفوعة وترقيتها. عندما تكون القيمة "خطأ"، تعرض واجهة مستخدم الترقية عنصرًا نائبًا للفوترة قريبًا بدلاً من ذلك.
workspaceBillingEnabledbooleanمطلوبعندما يكون هذا صحيحًا، تظهر مستويات الفوترة ومعلومات الخطة في الشريط الجانبي وإعدادات مساحة العمل. اضبط على "خطأ" لإخفاء واجهة مستخدم الفوترة بالكامل.
batchSchedulerEnabledbooleanمطلوبعندما يكون هذا صحيحًا، يكون برنامج جدولة العمليات المجمعة نشطًا ويمكن الوصول إليه من قبل المسؤول. يتطلب تشغيل Redis وBullMQ.
customMCPServerTokensbooleanمطلوبعندما يكون خطأ، يقوم خادم MCP بالمصادقة باستخدام رمز OAuth/Clerk القياسي. عندما يكون هذا صحيحًا، يتم استخدام الرموز المميزة لواجهة برمجة التطبيقات (API) المُدارة ذاتيًا بدلاً من ذلك - وهي مفيدة للبيئات التي لا تدعم Clerk MCP.

حدود#


مجموعة من مجموعات الحدود التي تتحكم في استخدام الموارد. يمكن ربط كل إدخال بطبقة الفوترة عبر billingTier، أو اضبط على null ليتم تطبيقها على جميع المستخدمين بغض النظر عن الخطة. بالنسبة لعمليات النشر البسيطة دون الحاجة إلى فواتير، يمكن إدخال واحد باستخدام "billingTier": null يكفي. null قيم الحدود الرقمية تعني غير محدود.

مجاليكتبمطلوبوصف
idstringمطلوبالمعرف الفريد لمجموعة الحدود هذه (على سبيل المثال، مجاني، محترف، افتراضي).
maxTrackableItemsnumberمطلوبالحد الأقصى لعدد العناصر القابلة للتتبع (النماذج + نقاط نهاية واجهة برمجة التطبيقات) التي يمكن للمستخدم إنشاؤها لكل مساحة عمل.
maxResponsesPerSurveynumber | nullمطلوبالحد الأقصى لعدد الردود المسموح بها لكل استبيان/نموذج. null تعني غير محدود.
maxWorkspaceMembersnumber | nullمطلوبالحد الأقصى لعدد الأعضاء في مساحة العمل. null تعني غير محدود.
maxApiLogsPerMinutenumberمطلوبالحد الأقصى لعدد أحداث السجل التي يمكن استيعابها في الدقيقة لكل عنصر يمكن تتبعه. الطلبات الزائدة محدودة السعر.
maxApiPayloadBytesnumberمطلوبالحد الأقصى للحجم بالبايت لحمولة السجل الواحد. يتم رفض الطلبات الأكبر من هذا.
logRetentionDaysnumberمطلوبعدد الأيام التي يتم فيها الاحتفاظ بإدخالات السجل قبل إزالتها. ينطبق على كافة السجلات ضمن هذه الطبقة.
maxCreatedWorkspacesnumber | nullمطلوبالحد الأقصى لعدد مساحات العمل التي يمكن لمستخدم واحد إنشاؤها. null تعني غير محدود.
billingTierstring | nullمطلوبمعرف طبقة الفوترة الذي ينطبق عليه هذا الحد. يجب أن يتطابق مع معرّف في مصفوفة billing.tiers. اضبط على قيمة خالية لتطبيق هذا الحد على جميع المستخدمين بغض النظر عن الخطة.

الفواتير#


تكوين الفوترة الاختياري لتكامل Lemon Squeezy. إذا كنت لا تستخدم الخطط المدفوعة، قم بتعيين lemonSqueezyStoreId و manageUrl ل null واترك tiers كمصفوفة فارغة. تتم الإشارة إلى قيم معرف الطبقة بواسطة Limits[].billingTier — يجب أن تتطابق تمامًا.

مجاليكتبمطلوبوصف
lemonSqueezyStoreIdstring | nullخياريمعرف متجر Lemon Squeezy الخاص بك. مطلوب إذا كنت تقوم بمعالجة المدفوعات من خلال Lemon Squeezy.
manageUrlstring | nullخياريعنوان URL لصفحة إدارة الفوترة المعروضة للمستخدمين. عادةً ما يكون عنوان URL لبوابة عميل Lemon Squeezy الخاص بك.

billing.tiers[]

مجموعة من طبقات الفوترة المعروضة في واجهة مستخدم الترقية. يجب أن يكون لكل طبقة معرف فريد يطابق الإدخال المقابل في Limits[].billingTier.

مجاليكتبمطلوبوصف
idstringمطلوبمعرف الطبقة الفريد. تمت الإشارة إليه بواسطة Limits[].billingTier.
namestringمطلوبالاسم المعروض للمستخدمين (مثل Pro، Team).
priceLabelstringمطلوبسلسلة السعر المعروضة في واجهة المستخدم (على سبيل المثال، 25 دولارًا).
priceIntervalstringمطلوبالفاصل الزمني للفوترة الموضح أسفل السعر (على سبيل المثال شهريًا).
descriptionstringمطلوبوصف موجز لما تتضمنه هذه الطبقة.
tone"neutral" | "accent" | "strong"مطلوبالموضوع المرئي لبطاقة المستوى. اللكنة والقوية هي الأنماط المميزة؛ الحياد هو الافتراضي.
mostPopularbooleanمطلوبعندما يكون صحيحًا، يتم عرض شارة "الأكثر شهرة" على بطاقة المستوى هذه.
lemonSqueezyVariantIdstring | nullخياريمعرف متغير منتج Lemon Squeezy لهذه الطبقة. مطلوب للخروج للعمل.
enabledbooleanمطلوبعندما تكون القيمة "خطأ"، يتم إخفاء هذا المستوى من واجهة مستخدم الترقية حتى إذا تم تمكين الفوترة.

الاستخدام#


ضوابط استخدام واجهة برمجة التطبيقات العالمية التي تنطبق على جميع مساحات العمل والمستخدمين.

مجاليكتبمطلوبوصف
invalidApiKeyRateLimitPerMinutenumberمطلوبالحد الأقصى لعدد الطلبات التي تحتوي على مفتاح API غير صالح مسموح به في الدقيقة لكل عنوان IP قبل أن يكون المصدر محدودًا بالمعدل. يساعد على منع حشو أوراق الاعتماد.
maxBodyBytesnumberمطلوبالحد الأقصى للحجم بالبايت لنص طلب السجل على مستوى بوابة API. يتم رفض الطلبات التي تتجاوز ذلك قبل الوصول إلى طبقة الخدمة.
pageSizenumberمطلوبعدد إدخالات السجل التي تم جلبها لكل صفحة عند تحميل عارض السجل.

خطافات الويب#


يتحكم في قائمة انتظار تسليم خطاف الويب الصادر المدعوم من Redis وBullMQ. ينطبق تحديد المعدل هنا على مستهلك قائمة الانتظار، وليس على استيعاب السجل الوارد.

مجاليكتبمطلوبوصف
queue.enabledbooleanمطلوبعندما يكون هذا صحيحًا، يتم وضع خطافات الويب الصادرة في قائمة الانتظار في Redis ويتم تسليمها بشكل غير متزامن. يتطلب تشغيل Redis.
queue.rateLimitMsnumberمطلوبالحد الأدنى من المللي ثانية للانتظار بين عمليات تسليم خطاف الويب المتتالية من قائمة الانتظار.
queue.rateLimitMaxnumberمطلوبالحد الأقصى لعدد أحداث webhook التي يمكن إرسالها داخل نافذة RateLimitMs.

حزمة#


تكوين جدولة دفعة الخلفية. يجب أيضًا تمكين المجدول عبر features.batchSchedulerEnabled.

مجاليكتبمطلوبوصف
schedulerTimeZonestringمطلوبسلسلة المنطقة الزمنية لـ IANA المستخدمة لجدولة المهام المجمعة (على سبيل المثال UTC، America/New_York). يؤثر عند تشغيل المهام المستندة إلى cron.