إلى جانب مواقع PHP وووردبريس، يمكن لاستضافتك تشغيل تطبيقات Node.js (مثل واجهة برمجية مبنية بـ Express، أو موقع Next.js، أو بوت صغير له صفحة ويب). ترفع ملفات التطبيق، وتختار نطاقًا، ثم تضغط Deploy App. تتولى اللوحة تثبيت الحزم وبناء التطبيق وتشغيله وربط النطاق به، وتُبقيه يعمل حتى بعد إعادة تشغيل الخادم.
أين أجد هذه الميزة؟ في لوحة تحكم الاستضافة (اللوحة التي تفتحها من my.tackhost.com بالضغط على فتح لوحة التحكم)، وليست في موقع my.tackhost.com نفسه.
تنبيه مهم: التطبيق المنشور يستحوذ على النطاق بأكمله، فلا يظهر ما كان النطاق يعرضه من قبل (موقع ووردبريس مثلًا) ما دام التطبيق يعمل. خصّص للتطبيق نطاقًا مستقلًا أو نطاقًا فرعيًا مثل
app.yourdomain.com. راجع إضافة نطاق إلى استضافتك.
1. افتح صفحة تطبيقات Node.js
- سجّل الدخول إلى my.tackhost.com، وافتح خدمة الاستضافة، ثم اضغط فتح لوحة التحكم.
- في الصفحة الرئيسية للوحة التحكم، افتح قسم Advanced ثم اضغط Node.js Apps.

تُفتح الصفحة على قسم Runtime Status (إصدارا Node.js وnpm على الخادم) وقسم Your Applications الذي يعرض التطبيقات التي نشرتها:

2. جهّز تطبيقك
قبل الرفع، تحقّق من أمرين في الكود:
- طريقة التشغيل: إما ملف
package.jsonيحتوي على أمرstart(فتشغّل اللوحةnpm start)، وإما ملف رئيسي باسمserver.jsأوindex.jsأوapp.js. - المنفذ الذي يستمع عليه: يجب أن يستمع التطبيق على المنفذ الموجود في متغير البيئة
PORT، مثلapp.listen(process.env.PORT). تختار اللوحة المنفذ وتمرّره إلى تطبيقك.
لا حاجة إلى رفع مجلد node_modules، فاللوحة تثبّت الحزم المذكورة في package.json بنفسها، وإذا احتوى package.json على أمر build (كما في تطبيقات Next.js) فإنها تشغّله أيضًا.
3. ارفع التطبيق
ارفع ملفات التطبيق إلى مجلد باسم nodeapp داخل مجلد النطاق:
/home/USERNAME/web/yourdomain.com/nodeapp/
يمكنك ذلك من مدير الملفات (افتح Web Files ثم مجلد نطاقك، وأنشئ مجلدًا باسم nodeapp وارفع الملفات إليه)، أو باستخدام برنامج FTP. راجع رفع الملفات عبر FTP. يظهر المسار الدقيق لكل نطاق في الخطوة الثانية من نموذج النشر بعد اختيار النطاق.
4. انشر التطبيق

في قسم Deploy an App:
- Step 1: Choose a domain: اختر النطاق (أو النطاق الفرعي) الذي سيعمل عليه التطبيق.
- Step 2: Upload your app: يعرض هذا الحقل المجلد الذي تنتظر اللوحة ملفاتك فيه، ويُملأ تلقائيًا.
- Step 3: App port: اترك المنفذ المقترح كما هو، فهو غير مستخدم. ولكل تطبيق منفذه الخاص.
- Step 4: Start command: اختر
npm start، أوnode server.jsأوnode index.jsأوnode app.jsبحسب تطبيقك. - اضغط Deploy App.
تعرض الصفحة بعد ذلك تقدّم عملية النشر وتتحدّث تلقائيًا. قد يستغرق تثبيت الحزم والبناء بضع دقائق. وعند الانتهاء تظهر عبارة Deployed. Your app is live at متبوعة بعنوان نطاقك. وإذا فشلت خطوة ما، تعرض الصفحة سجلّ الخطوة التي فشلت: أصلح المشكلة في ملفاتك ثم اضغط Deploy App مرة أخرى.
تحديث التطبيق أو إعادة تشغيله أو حذفه
يظهر كل تطبيق في Your Applications مع حالته (online عندما يعمل)، والمنفذ، واستهلاك الذاكرة والمعالج، ومدة التشغيل. والأزرار بجواره:
- إعادة التشغيل (السهم الدائري): يعيد تشغيل التطبيق، مثلًا بعد تغيير ملف إعدادات.
- الإيقاف / التشغيل (زر الإيقاف المؤقت / زر التشغيل): يوقف التطبيق أو يشغّله من جديد.
- الحذف (سلة المهملات): يزيل التطبيق ويعود النطاق إلى الاستضافة العادية. لا تُحذف ملفاتك الموجودة في
nodeapp. - السجل (أيقونة الصفحة): يعرض سجلّ آخر عملية نشر.
غيّرت الكود؟ ارفع الملفات الجديدة إلى مجلد nodeapp نفسه، ثم انشر مرة أخرى على النطاق نفسه. ستعيد اللوحة تثبيت الحزم والبناء وتشغيل التطبيق.
حل المشكلات
- رسالة "no package.json ... upload your app there first": الملفات ليست في مجلد
nodeappالخاص بذلك النطاق، أو أنها داخل مجلد فرعي إضافي. يجب أن يكونpackage.jsonداخلnodeappمباشرة. - رسالة "port ... choose another port": المنفذ مستخدم من تطبيق آخر. حدّث الصفحة واستخدم المنفذ المقترح.
- رسالة "the server is busy with other deploys": لا يعمل إلا عدد محدود من عمليات النشر في الوقت نفسه. أعد المحاولة بعد بضع دقائق.
- يظهر خطأ في الموقع رغم نجاح النشر: تأكد من أن تطبيقك يستمع على
process.env.PORTوليس على رقم منفذ ثابت مكتوب في الكود. - الموقع غير آمن (بلا قفل): أصدِر شهادة SSL لذلك النطاق. راجع تفعيل شهادة SSL المجانية.
هل تحتاج إلى مساعدة؟ افتح تذكرة دعم واذكر اسم النطاق، وأرفق نسخة من السجل إذا فشل النشر.