انتقل إلى المقال
Aniq-UI

Northstackالمتطلبات

المتطلبات

ما تحتاج إلى تثبيته قبل تشغيل حزمتك، باستخدام Docker أو من دونه.

لحزمة الحزمة الكاملة

ما تحتويه كل حزمة

الحزمةالتطبيقات في التنزيليعمل بمفرده
الحزمة الكاملةواجهة API، والموقع العام، ولوحة تحكم مساحة العملنعم، الثلاثة معًا
موقع SaaSالموقع العامنعم، على بياناته التجريبية المدمجة؛ ويصل نموذج التواصل ودفع الترخيص إلى Northstack API بمجرد أن توجّهه إلى واحدة
لوحة تحكم مساحة العمللوحة تحكم مساحة العملنعم، على بياناتها التجريبية المدمجة في المتصفح؛ أما الحسابات والبيانات الحقيقية فتحتاج إلى Northstack API
واجهة API (Backend API)APIنعم، يقدّم واجهة API فقط

لا تتضمن حزمة التطبيق الواحد التطبيقات الأخرى. كود واجهة API موجود فقط في الحزمة الكاملة وحزمة واجهة API الخلفية.

باستخدام Docker

  • Docker Desktop على macOS أو Windows، أو Docker Engine مع إضافة Compose على Linux، مع Docker Compose 2.24 أو أحدث، وهو ما يتضمنه كل Docker Desktop حاليًا؛ ويطبع docker compose version إصدارك. تبدأ الحزمة الكاملة بأمر docker compose واحد، ويقرأ docker-compose.yml الملف back-end/.env فقط عند وجوده، وهو إعداد ترفضه إصدارات Compose الأقدم.
  • اتصال بالإنترنت للبناء الأول، الذي ينزّل الصور الأساسية والاعتماديات.
  • لا شيء آخر: يجلب Docker معه Node.js، وقاعدة البيانات ملف SQLite داخل وحدة تخزين Docker.

باستخدام Docker

  • Docker Desktop على macOS أو Windows، أو Docker Engine على Linux. لتطبيقك ملف Dockerfile خاص به؛ ولا حاجة إلى Compose.
  • اتصال بالإنترنت للبناء الأول، الذي ينزّل الصورة الأساسية والاعتماديات.

من دون Docker

  • Node.js 22.13 أو إصدار أحدث من 22، أو Node.js 24.11 أو أحدث، لواجهة API والحزمة الكاملة (قيمة engines في واجهة API هي ^22.13.0 || >=24.11.0). يعمل الموقع ولوحة التحكم وحدهما على Node.js 22.9 أو أحدث. وتعمل صور Docker على Node.js 24. تحقق من إصدارك بالأمر node -v.
  • Yarn 4 عبر Corepack. شغّل corepack enable مرة واحدة؛ يثبّت كل تطبيق Yarn 4.8.1 في packageManager ويشحن معه yarn.lock، لذلك يثبّت yarn install الإصدارات نفسها التي اختُبر بها بالضبط. إذا لم يكن في Node.js لديك Corepack (Node.js 25 وما بعده لا تضمه)، فثبّته أولًا بالأمر npm install -g corepack.
  • لا حاجة إلى حزم عامة.

قاعدة البيانات

لا حاجة إلى خادم قاعدة بيانات. تستخدم واجهة API قاعدة SQLite افتراضيًا، وينشئ yarn seed الملف لك؛ ويستخدم Docker قاعدة SQLite أيضًا. الانتقال إلى MySQL مدعوم بتغيير في الإعدادات، لا بتغيير في الكود.

المنافذ

يعمل كل تطبيق على منفذ محلي ثابت. تأكد من أن لا شيء آخر يستخدمها، أو، مع Docker، انقل أحدها باستخدام SITE_PORT أو ADMIN_PORT أو API_PORT في ملف .env بجوار docker-compose.yml.

التطبيقالمنفذ
API8000
الموقع العام3030
لوحة تحكم مساحة العمل3031

المنفذ

يعمل الموقع على المنفذ 3030. وعند ربطه بواجهة API يتوقعها على 8000 ما لم تعطه عنوانًا آخر. تأكد من أن لا شيء آخر يستخدمهما.

المنفذ

تعمل لوحة التحكم على المنفذ 3031. وعند ربطها بواجهة API تتوقعها على 8000 ما لم تعطها عنوانًا آخر. تأكد من أن لا شيء آخر يستخدمهما.

المنفذ

تعمل واجهة API على المنفذ 8000، وتقبل افتراضيًا الموقع من 3030 ولوحة التحكم من 3031. تأكد من أن لا شيء آخر يستخدم المنفذ 8000.

واجهة API للربط

لا يحتاج تطبيقك إلى شيء آخر ليبدأ: من دون عنوان واجهة API يعمل ببياناته التجريبية المدمجة. وللعمل مع حسابات ومدفوعات وبريد حقيقية يحتاج إلى Northstack API، التي تضبط عنوانها في .env أو تمرّره معامل بناء. تُباع واجهة API حزمةً مستقلة هي واجهة API الخلفية، وهي جزء من الحزمة الكاملة.

الخدمات الاختيارية

لا شيء من هذه مطلوب لتشغيل Northstack محليًا. كل خدمة تُفعَّل بمتغيراتها في .env الخاص بواجهة API؛ والمتغير الذي يُترك فارغًا يُبقي ميزته معطّلة.

الخدمةمن دونها
حساب Stripeيفتح «تغيير الخطة» في صفحة الفوترة بلوحة التحكم الدفع التجريبي المدمج، ويفتح دفع الترخيص في الموقع دفعه التجريبي الخاص. لا أحد منهما يحاسب أحدًا، فيعمل المساران من البداية إلى النهاية.
تطبيق PayPal RESTيمر PayPal في دفع الترخيص عبر الدفع التجريبي نفسه.
خادم SMTP للبريدتُكتب الدعوات وإعادة تعيين بيانات الدخول وإيصالات التراخيص في سجل واجهة API، بروابطها، بدلًا من إرسالها.
حاوية Cloudflare R2تُخزَّن ملفات المشاريع والصور على قرص واجهة API نفسه (ومع Docker، في وحدة تخزين البيانات).
مفتاح ذكاء اصطناعي من Google Gemini أو OpenAI أو DeepSeek، أيٌّ منهايستطيع كل شخص إضافة مفتاحه الخاص لمزوّد في المساعد، ويُحفظ في متصفحه؛ ومن دونه لا يستطيع المساعد الإجابة. وكل شيء آخر يعمل.
مفتاح لخادم MCPيرفض POST /api/mcp كل طلب.

كل خدمة مدفوعة تحاسبك على حسابك لدى مزوّدها. لا تفرض Northstack أي ضريبة بنفسها: اضبط الضريبة لبلدك قبل قبول مدفوعات حقيقية.

توقفت عند خطوة؟

ابحث عن الحل قبل أن تبدأ من جديد.

حل المشكلات

تفضيلات ملفات تعريف الارتباط

نستخدم ملفات تعريف الارتباط لتعزيز تجربة التصفح الخاصة بك وتحليل حركة المرور على الموقع وتخصيص المحتوى. بالنقر على "قبول الكل"، فإنك توافق على استخدامنا لملفات تعريف الارتباط للتحليلات والإعلانات المخصصة.