السلام عليكم ورحمة الله وبركاتة
لدي مشروع ويب يتكون من:
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
يرجى توضيح طريقة التنفيذ المقترحة عند التقديم على المشروع.
| تاريخ التسجيل | |
| معدل التوظيف | |
| المشاريع المفتوحة | 1 |
| مشاريع قيد التنفيذ | 0 |
| التواصلات الجارية | 3 |
السلام عليكم ورحمة الله وبركاته، اطلعت على تفاصيل المشروع، والمشكلة الأساسية واضحة وهي عدم عزل بيئات Dev / Staging / Production مما يسبب تعارض في الخدمات مثل Re...
السلام عليكم يا محمد، أنا Backend Developer وعندي خبرة في Docker و Linux servers، وفاهم المشكلة اللي عندك بخصوص إن بيئات Dev و Staging و Production شغالين على ن...
مرحبا بك، اطلعت على تفاصيل المشكلة التي تواجهونها، والمشكلة كلاسيكية جدا عند استضافة تطبيقات حديثة (Laravel Nextjs WebSockets) على بيئة مشتركة مثل cPanel. تداخل...
وعليكم السلام ورحمة الله وبركاته، اطلعت على تفاصيل مشروعكم وفهمت المشكلة المتعلقة بعدم عزل البيئات (Development / Staging / Production) وتأثير بعض الخدمات مثل R...
السلام عليكم ورحمة الله وبركاته أستاذ محمد، اطلعت على تفاصيل المشروع وفهمت المشكلة الحالية وهي أن بيئات Development و Staging و Production تعمل على نفس الخدمات ...
السلام عليكم ورحمه الله وبركاته ان شاء الله يمكنني تنفيذ طلبك بكل احترافيه,تخصصي هو DevOps/Cloud سبق أن نفذت مشاريع مشابهة، ويمكنك الاطلاع على تقييمي وأعمالي ال...
السلام عليكم هأشتغل على المشروع باستخدام Docker Compose مع عزل كامل للبيئات الثلاثة كالتالي: الحل التقني: كل بيئة شغالة على Docker network منفصل (dev / staging ...