Railway هي منصة بنية تحتية حيث يمكنك توفير البنية التحتية وتطويرها محليًا ثم نشرها في السحابة. تتيح عمليات النشر الفوري من GitHub بدون أي تكوين و SSL تلقائي وتوفير قاعدة بيانات مدمج.
يرشدك هذا الدليل خلال نشر تطبيق Bun مع قاعدة بيانات PostgreSQL (اختياري)، وهو ما يوفره القالب أدناه تمامًا.
يمكنك إما اتباع هذا الدليل خطوة بخطوة أو ببساطة نشر القالب المُهيأ مسبقًا بنقرة واحدة:
المتطلبات الأساسية:
- تطبيق Bun جاهز للنشر
- حساب Railway
- Railway CLI (لطريقة النشر عبر CLI)
- حساب GitHub (لطريقة النشر عبر لوحة التحكم)
الطريقة 1: النشر عبر CLI
الخطوة 1
تأكد من تثبيت Railway CLI.
bun install -g @railway/cliالخطوة 2
سجل الدخول إلى حساب Railway الخاص بك.
railway loginالخطوة 3
بعد المصادقة بنجاح، قم بتهيئة مشروع جديد.
railway initالخطوة 4
بعد تهيئة المشروع، أضف قاعدة بيانات وخدمة جديدة.
NOTE
الخطوة 4 ضرورية فقط إذا كان تطبيقك يستخدم قاعدة بيانات. إذا لم تكن بحاجة إلى PostgreSQL، انتقل إلى الخطوة 5.# إضافة قاعدة بيانات PostgreSQL. تأكد من إضافتها أولاً!
railway add --database postgres
# إضافة خدمة التطبيق الخاص بك.
railway add --service bun-react-db --variables DATABASE_URL=\${{Postgres.DATABASE_URL}}الخطوة 5
بعد إنشاء الخدمات وربطها، قم بنشر التطبيق إلى Railway. بشكل افتراضي، يمكن الوصول إلى الخدمات فقط داخل شبكة Railway الخاصة. لجعل تطبيقك متاحًا للعامة، تحتاج إلى إنشاء نطاق عام.
# نشر التطبيق الخاص بك
railway up
# إنشاء نطاق عام
railway domainتطبيقك الآن يعمل! يقوم Railway بالنشر التلقائي مع كل دفعة GitHub.
الطريقة 2: النشر عبر لوحة التحكم
الخطوة 1
إنشاء مشروع جديد
- انتقل إلى لوحة تحكم Railway
- انقر على "+ New" → "GitHub repo"
- اختر المستودع الخاص بك
الخطوة 2
أضف قاعدة بيانات PostgreSQL، واربط قاعدة البيانات هذه بالخدمة
NOTE
الخطوة 2 ضرورية فقط إذا كان تطبيقك يستخدم قاعدة بيانات. إذا لم تكن بحاجة إلى PostgreSQL، انتقل إلى الخطوة 3.- انقر على "+ New" → "Database" → "Add PostgreSQL"
- بعد إنشاء قاعدة البيانات، حدد الخدمة الخاصة بك (وليس قاعدة البيانات)
- انتقل إلى علامة التبويب "Variables"
- انقر على "+ New Variable" → "Add Reference"
- حدد
DATABASE_URLمن postgres
الخطوة 3
إنشاء نطاق عام
- حدد الخدمة الخاصة بك
- انتقل إلى علامة التبويب "Settings"
- ضمن "Networking"، انقر على "Generate Domain"
تطبيقك الآن يعمل! يقوم Railway بالنشر التلقائي مع كل دفعة GitHub.
التكوين (اختياري)
بشكل افتراضي، يستخدم Railway Nixpacks للكشف تلقائيًا عن تطبيق Bun وبنائه بدون أي تكوين.
ومع ذلك، يوفر استخدام منشئ التطبيقات Railpack دعمًا أفضل لـ Bun و سيدعم دائمًا أحدث إصدار من Bun. تستخدم القوالب المُهيأة مسبقًا Railpack بشكل افتراضي.
لتفعيل Railpack في مشروع مخصص، أضف ما يلي إلى railway.json الخاص بك:
{
"$schema": "https://railway.com/railway.schema.json",
"build": {
"builder": "RAILPACK"
}
}لمزيد من إعدادات تكوين البناء، راجع وثائق Railway.