تخطَّ إلى المحتوى

النشر على استضافات أخرى

باختصاريستضيف MonstarX تطبيقك نيابةً عنك، لكن يمكنك أيضًا تشغيله على حسابك السحابي الخاص. اربط Cloudflare أو Vercel أو Google Cloud أو Railway أو Azure أو AWS من الخدمات السحابية ← السحابة، ثم انشر من قائمة النشر. يحتفظ تطبيقك بقاعدة بياناته وتسجيل الدخول والبريد الإلكتروني والملفات والذكاء الاصطناعي حيث هي، وتحاسبك جهة الاستضافة مباشرةً.

افتراضيًا، يضع زر نشر تطبيقك على استضافة MonstarX نفسها على your-app.monstarx.app، وهو الخيار الأبسط والأنسب لمعظم الناس. لكن بعض الفرق تحتاج إلى تشغيل التطبيق في حسابها السحابي الخاص: بسبب سياسة الشركة، أو عقد قائم، أو الرغبة في أن تكون الفاتورة باسمها. يستطيع MonstarX النشر على ست جهات استضافة نيابةً عنك.

جهة الاستضافةأين يعمل التطبيقما تربطهقاعدة بياناته
MonstarX (الافتراضي)سحابة MonstarX، على your-app.monstarx.appلا شيءMonstarX Cloud
Cloudflareحسابك في Cloudflare، على عنوان workers.dev أو أحد نطاقاتكرمز APIقاعدة بيانات جديدة في حسابك على Cloudflare
Vercelحسابك في Vercelرمز وصول (ومعرّف الفريق إن كنت تستخدم فريقًا)تبقى على MonstarX
Google CloudCloud Run في مشروعك على Google Cloudمفتاح حساب خدمة ومنطقةتبقى على MonstarX
Railwayمشروعك في Railway، يُبنى من GitHubرمز API ومعرّف المشروع ومعرّف البيئةتبقى على MonstarX، أو تنتقل إلى Railway Postgres
AzureAzure App Service في اشتراكككيان خدمة (المستأجر، ومعرّف العميل، والسر، والاشتراك)تبقى على MonstarX
AWSECS على Fargate في حسابك على AWSمكدس إعداد تنشئه من قالب MonstarXتبقى على MonstarX

«تبقى على MonstarX» تعني أن التطبيق يواصل استخدام قاعدة البيانات وتسجيل الدخول والبريد الإلكتروني وتخزين الملفات والذكاء الاصطناعي الموجودة لديه، ولا يتغير إلا مكان تشغيل صفحاته. لا يُنسخ أي شيء ولا يُنقل إلا إذا ذكر الجدول ذلك.

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

بعد ربط إحداها، تعرضها قائمة النشر تحت استضافة متصلة أخرى، أسفل القائمة: النشر إلى Cloud Run، أو النشر إلى Railway، أو فتح Vercel، أو استضافة Azure، أو AWS. (Cloudflare مختلف: فهو يتولى زر نشر الموقع العادي.)

اربط رمز API من Cloudflare في الخدمات السحابيةالسحابةCloudflare وفعّل تشغيل هذا التطبيق في حساب Cloudflare الخاص بي. من الآن فصاعدًا، ينشر زر نشر الموقع العادي التطبيق على حسابك: التطبيق وقاعدة بياناته والفاتورة كلها لك. تبدأ قاعدة البيانات المنشورة فارغة وتحصل على كل الجداول؛ وتحتفظ المعاينة ببياناتها التجريبية الخاصة. ويعمل التطبيق على عنوان workers.dev، أو على أحد نطاقاتك في Cloudflare.

الدليل الكامل: شغّل تطبيقك على حسابك الخاص في Cloudflare.

  1. في الخدمات السحابيةالسحابة، انقر على ربط في Vercel. تنفتح نافذة انشر باستخدام Vercel.

  2. أنشئ رمز وصول في إعدادات حسابك على Vercel (يجب أن يستطيع إنشاء عمليات النشر وإدارة المشاريع)، والصقه، وأضف معرّف الفريق إذا كان التطبيق تابعًا لفريق، ثم انقر على ربط Vercel.

  3. يمكنك اختياريًا ربط مشروع Vercel موجود بمعرّفه أو اسمه. وإلا فسيُنشأ مشروع جديد عند أول نشر.

  4. انقر على نشر المعاينة للتجربة، أو على النشر في بيئة الإنتاج لإتاحة التطبيق على الإنترنت. تعرض النافذة حالة آخر عملية نشر ورابطًا إليها.

في النافذة نفسها يمكنك إضافة نطاقات إلى مشروع Vercel (يعرض Vercel سجل DNS الذي يجب إضافته، ثم التحقّق من DNS) وإدارة متغيرات البيئة. تُنسخ أسرارك في MonstarX إلى Vercel مع كل عملية نشر، لذا أعد النشر بعد تغييرها. ولاحقًا، أعد فتح النافذة من نشراستضافة متصلة أخرىفتح Vercel. يزيل زر قطع الاتصال صلاحية MonstarX؛ ويبقى مشروعك على Vercel متاحًا على الإنترنت.

  1. في Google Cloud، أنشئ حساب خدمة لـ MonstarX وامنحه هذه الأدوار: Cloud Run Admin وCloud Build Editor وArtifact Registry Administrator وStorage Admin وService Account User. ثم نزّل مفتاحه بصيغة JSON.

  2. في الخدمات السحابيةالسحابة، انقر على ربط في Google Cloud، والصق المفتاح، وأدخل منطقة Cloud Run (مثل australia-southeast1).

  3. افتح نشر، ووسّع استضافة متصلة أخرى، وانقر على النشر إلى Cloud Run.

يبني MonstarX التطبيق في حاوية داخل مشروعك ويشغّله على Cloud Run، على عنوان run.app الخاص بـ Google. يحتفظ التطبيق بقاعدة بياناته في MonstarX؛ أما لاستخدام Firestore وتسجيل الدخول والتخزين الخاصين بـ Firebase، فاربط Firebase أيضًا. يحذف إلغاء النشر خدمة Cloud Run، لكنه يترك ملفات البناء والصور في مشروعك على Google Cloud.

  1. اربط المشروع بمستودع GitHub أولًا، لأن Railway يبني التطبيق منه. راجع GitHub.

  2. في Railway، أنشئ رمز حساب أو رمز مساحة عمل (رمز المشروع لا يستطيع إنشاء الخدمات)، وانسخ معرّف المشروع ومعرّف البيئة.

  3. في الخدمات السحابيةالسحابة، انقر على ربط في Railway والصقها.

  4. افتح نشر، ووسّع استضافة متصلة أخرى، وانقر على النشر إلى Railway. يزامن MonstarX المستودع، ثم يبني Railway التطبيق وينشره. وتتحدث الحالة ما دامت قائمة النشر مفتوحة.

يستطيع Railway أيضًا حفظ بيانات تطبيقك في Railway Postgres، راجع Railway. يزيل إلغاء النشر خدمة التطبيق في Railway؛ وتبقى قاعدة بيانات Railway Postgres.

اربط كيان خدمة (service principal) لديه صلاحية Contributor على اشتراكك في Azure: أدخل معرّف المستأجر ومعرّف التطبيق (العميل) وسر العميل ومعرّف الاشتراك ومنطقة Azure، ثم انقر على التحقق والاتصال. افتح نشراستضافة متصلة أخرىاستضافة Azure وانقر على النشر إلى Azure.

ينشئ MonstarX مجموعة موارد، وخطة App Service من فئة Basic B1 على Linux، وتطبيق ويب للتطبيق. يحدّثه زر نشر أحدث إصدار، ويزوره زر فتح تطبيق Azure، ويحذف زر إزالة تطبيق Azure التطبيق وخطته من Azure.

تعمل استضافة AWS مع التطبيقات التي أنشأها MonstarX (لا مع التطبيقات المستوردة)، ويتطلب ربطها خطوات أكثر قليلًا لأن MonstarX لا يطلب أبدًا كلمات مرور AWS أو مفاتيح الوصول:

  1. في الخدمات السحابيةالسحابة، انقر على ربط في AWS واختر منطقة.

  2. انقر على تنزيل قالب الإعداد، وافتح AWS CloudFormation في تلك المنطقة، وأنشئ منه مكدسًا بـ اسم المكدس المعروض بالضبط. ووافق على أدوار IAM المسماة.

  3. عندما يكتمل المكدس، الصق مُخرَج RoleArn الخاص به في ARN لدور النشر وانقر على التحقق والاتصال بـ AWS.

  4. افتح نشراستضافة متصلة أخرىAWS وانقر على النشر إلى AWS.

يعمل التطبيق على ECS Fargate (0.5 vCPU، وذاكرة 1 GB، ونسخة أو نسختان) خلف عنوان HTTPS الخاص بـ AWS. يحتاج حسابك إلى شبكة افتراضية (VPC) فيها شبكات فرعية عامة في منطقتي توفر على الأقل. يطرح زر نشر أحدث إصدار إصدارًا جديدًا، ويعود زر استعادة النشر السابق إصدارًا واحدًا إلى الوراء (دون التراجع عن تغييرات قاعدة البيانات)، ويزيل زر إيقاف استضافة AWS التطبيق. وتبقى موارد الإعداد والصور والأسرار في حسابك حتى تزيل مكدس الإعداد بنفسك.

  • ينتظر Cloud Run وRailway توقف استضافة MonstarX. ما دام التطبيق متاحًا على استضافة MonstarX، ينتظر زرا النشر إلى Cloud Run والنشر إلى Railway؛ ألغِ النشر أولًا لتنتقل إليهما.
  • النطاقات المخصصة المشتراة أو المربوطة من قائمة النشر في MonstarX تخص استضافة MonstarX. أما على حسابك الخاص في Cloudflare، فاختر أحد نطاقاتك في Cloudflare من إعداداته؛ وعلى Vercel، أضف النطاقات من نافذة Vercel؛ وعلى الجهات الأخرى، استخدم إعدادات النطاقات الخاصة بجهة الاستضافة.
  • تفضّل أن تفعل ذلك بنفسك؟ صدّر شفرتك وانشرها في أي مكان.
هل أحتاج إلى جهة استضافة أخرى؟

لا. تعمل استضافة MonstarX فورًا، مع عنوان مجاني وHTTPS. أما الجهات الأخرى فللفرق التي تحتاج إلى تشغيل التطبيق في حسابها السحابي الخاص.

هل تنتقل بياناتي عندما أنشر على جهة استضافة أخرى؟

لا. يحتفظ التطبيق بقاعدة بياناته وتسجيل الدخول والبريد الإلكتروني والملفات والذكاء الاصطناعي حيث هي. وحدهما Cloudflare (قاعدة بيانات جديدة في حسابك) وRailway Postgres (إذا أضفته) يغيّران مكان البيانات.

من يدفع مقابل الاستضافة؟

تحاسب جهة الاستضافة حسابك الخاص على الاستضافة التي تقدمها.

هل يمكنني نشر تطبيق مستورد على AWS؟

ليس بعد. تدعم استضافة AWS التطبيقات التي أنشأها MonstarX. ويمكن للتطبيقات المستوردة استخدام الجهات الأخرى أو تصديرها.

ماذا يحدث إذا قطعت الاتصال بجهة استضافة؟

يفقد MonstarX صلاحية الوصول. وفي Vercel، يبقى مشروع Vercel متاحًا على الإنترنت. ويرفض MonstarX قطع الاتصال بـ Cloudflare أو Google Cloud أو AWS ما دام التطبيق متاحًا عليها، فأوقفه هناك أولًا.