العودة لقائمة المشاريع
إعداد بيئة DevOps كاملة لمشروع Laravel + Next.js مع Dev / Staging / Production باستخدام Docker
الميزانية
$100.00 - $250.00
التصنيف
برمجة، تطوير المواقع والتطبيقات
المهارات المطلوبة
لارافيل
Next.js
Docker
Redis
نظام لينكس
MySQL
لارافيل
Next.js
Docker
Redis
نظام لينكس
MySQL
الوصف
السلام عليكم ورحمة الله وبركاتة
لدي مشروع ويب يتكون من:
Backend:
* Laravel (PHP)
* MySQL Database
Frontend Dashboard:
* Next.js
المشكلة الحالية:
لدينا ثلاث بيئات تشغيل:
1- Development
2- Staging
3- Production
حالياً الباك إند يعمل على cPanel وجميع البيئات الثلاثة مربوطة بنفس السيرفر ونفس الخدمات تقريباً، مما يسبب مشاكل عند تعديل الإعدادات أو تشغيل خدمات مثل Redis أو WebSockets حيث يؤثر ذلك على Production.
كما أن Frontend موزع حالياً كالتالي:
* Dev و Staging على AWS
* Production على Hostinger
نريد إعادة تنظيم البنية التحتية بحيث تصبح البيئات معزولة ويمكن تشغيل الخدمات مثل Redis و WebSockets بدون التأثير على Production.
المطلوب من المستقل:
1- تصميم وتنفيذ بنية DevOps بسيطة واحترافية للمشروع.
2- استخدام Docker و Docker Compose لإنشاء ثلاث بيئات منفصلة:
Environment 1:
Development
Environment 2:
Staging
Environment 3:
Production
كل بيئة يجب أن تحتوي على:
* Laravel application container
* MySQL container
* Redis container
* Queue worker
* WebSocket server (Laravel Reverb)
3- إنشاء ملفات Docker المطلوبة مثل:
* Dockerfile للـ Laravel
* docker-compose.yml لكل بيئة
* تنظيم المشروع بحيث يمكن تشغيل كل بيئة بشكل مستقل.
4- إعداد Redis و Queue workers بشكل منفصل لكل بيئة حتى لا يحدث تعارض بين Dev و Staging و Production.
5- إعداد WebSockets باستخدام Laravel Reverb لتشغيل ميزات Real-time في النظام.
6- تنظيم المشروع بحيث يمكن تشغيل كل بيئة باستخدام أمر بسيط مثل:
docker compose up -d
7- إعداد Environment variables لكل بيئة (.env files).
8- إعداد Reverse Proxy باستخدام Nginx (اختياري ولكن مفضل).
9- توضيح طريقة تشغيل المشروع بالكامل على السيرفر.
10- توثيق الخطوات في ملف README يشرح:
* كيفية تشغيل كل بيئة
* كيفية تشغيل Redis
* كيفية تشغيل Queue workers
* كيفية تشغيل WebSocket server
* كيفية نشر التحديثات (deployment).
المخرجات المطلوبة:
* Dockerfile
* docker-compose configuration
* إعداد كامل للبيئات الثلاثة
* توثيق واضح لكيفية تشغيل النظام.
ملاحظات مهمة:
* الهدف هو عزل البيئات الثلاثة (Dev / Staging / Production).
* يجب أن تعمل WebSockets و Redis بدون التأثير على Production.
* الحل المطلوب بسيط وعملي وليس معقداً (لا حاجة لـ Kubernetes).
التقنيات المستخدمة في المشروع:
Backend:
Laravel (PHP)
Frontend:
Next.js
Database:
MySQL
Real-time:
Laravel Reverb + Redis
DevOps Tools:
Docker
Docker Compose
يفضل أن يكون المستقل لديه خبرة في:
* Laravel
* Docker
* Redis
* WebSockets
* Linux server management
يرجى توضيح طريقة التنفيذ المقترحة عند التقديم على المشروع.