المتطلبات
ما تحتاج إلى تثبيته قبل تشغيل حزمتك، باستخدام Docker أو من دونه.
لحزمة الحزمة الكاملة
ما تحتويه كل حزمة
| الحزمة | التطبيقات في التنزيل | يعمل بمفرده |
|---|---|---|
| الحزمة الكاملة | واجهة API ولوحة التحكم | نعم، كلاهما معًا |
| لوحة التحكم | لوحة التحكم | نعم، على بيانات تجريبية مدمجة إلى أن تربطها بواجهة API الخاصة بالقالب |
| الخادم | API | نعم، يقدّم واجهة API فقط |
لا تتضمن حزمة التطبيق الواحد التطبيقَ الآخر. يمكن للوحة التحكم استخدام واجهة API تشغّلها بالفعل، لكن شيفرة واجهة API موجودة فقط في حزمتي Full Stack و Backend.
باستخدام Docker
- Docker Desktop على macOS أو Windows، أو Docker Engine مع إضافة Compose على Linux. تبدأ الحزمة الكاملة بأمر
docker composeواحد. - اتصال بالإنترنت للبناء الأول، الذي ينزّل الصور الأساسية والاعتماديات.
- لا شيء آخر: يجلب Docker معه Node.js، وقاعدة البيانات ملف SQLite داخل وحدة تخزين Docker.
باستخدام Docker
- Docker Desktop على macOS أو Windows، أو Docker Engine على Linux. لتطبيقك ملف
Dockerfileخاص به؛ ولا حاجة إلى Compose. - اتصال بالإنترنت للبناء الأول، الذي ينزّل الصورة الأساسية والاعتماديات.
من دون Docker
- Node.js 22.9 أو أحدث للوحة التحكم وللحزمة الكاملة: يستخدم
yarn devوyarn startفي لوحة التحكم خيار Node--env-file-if-exists، الذي ظهر في الإصدار 22.9. أما واجهة API وحدها فتحتاج إلى Node.js 22 أو أحدث. وتعمل صور Docker أيضًا على Node.js 22. - Yarn 4، عبر Corepack. شغّل
corepack enableمرة واحدة؛ يثبّت كل تطبيق الإصدار Yarn 4.8.1، لذا يختارyarnالإصدار الصحيح. إذا لم يكن في Node.js لديك Corepack، فثبّته أولًا بالأمرnpm install -g corepack. - لا حاجة إلى حزم عامة.
قاعدة البيانات
لا حاجة إلى خادم قاعدة بيانات. تستخدم واجهة API قاعدة SQLite افتراضيًا، وينشئ yarn seed الملف لك؛ ويستخدم Docker قاعدة SQLite أيضًا. الانتقال إلى MySQL مدعوم بتغيير في الإعدادات، لا بتغيير في الكود.
المنافذ
يستمع كل تطبيق على منفذ محلي ثابت. تأكد من أن لا شيء آخر يستخدمها، أو انقل أحدها، مع Docker، بواسطة DASHBOARD_PORT أو API_PORT في ملف .env بجوار docker-compose.yml.
| التطبيق | المنفذ |
|---|---|
| API | 8000 |
| لوحة التحكم | 3030 |
المنفذ
تستمع لوحة التحكم على المنفذ 3030، أو على PORT من ملف .env الخاص بها. تأكد من أن لا شيء آخر يستخدمه.
المنفذ
تستمع واجهة API على المنفذ 8000، أو على PORT من ملف .env الخاص بها. تأكد من أن لا شيء آخر يستخدمه.
واجهة API للربط
لا يلزم شيء لتجربة لوحة التحكم: فهي تعمل على بياناتها التجريبية الخاصة. لاستخدام بيانات حقيقية، تحتاج إلى تشغيل واجهة API الخاصة بالقالب، وتضبط عنوانها في ملف .env الخاص بها. تُباع واجهة API كحزمة مستقلة.
الخدمات الاختيارية
لا يلزم أي من هذه لتشغيل Kinora محليًا. يُفعَّل كل منها بمفاتيحه في back-end/.env، والمفتاح المتروك بقيمته في .env.example يُعدّ غير مضبوط.
| الخدمة | من دونها |
|---|---|
| Cloudflare R2 أو مخزن آخر متوافق مع S3 | تقدّم لوحة التحكم الصور التجريبية من مجلدها public/assets. رفع صورة شخصية جديدة أو صورة تقدم أو مرفق يُرجع 400 مع "File storage is not configured on this server". |
| مفتاح Google Gemini أو OpenAI أو DeepSeek | تعرض صفحة المساعد الذكي «لا يوجد نموذج ذكاء اصطناعي متصل». كل الشاشات الأخرى تعمل. |
مفتاح MCP_API_KEY خاص بك | يُرفض كل طلب إلى POST /api/mcp، وهو المسار الذي يستخدمه وكيل البرمجة. |
لا يوجد في القالب ناقل بريد ولا مزوّد دفع: لا يُرسَل أي بريد إلكتروني، وصفحتا نسيان كلمة المرور وإعادة تعيينها واجهتان فقط (لا يُرسَل أي رابط لإعادة التعيين)، وتعرض بطاقة الفوترة أرقامًا مزروعة.