لماذا تبحث الوكالات عن بديل لـ Jira في 2026. أفضت الهجرة إلى Jira Cloud إلى زيادات سعرية متعاقبة: الإعلان عن نهاية دعم Data Center، وإنهاء التراخيص الدائمة لـ Server، ومراجعة أسعار Cloud في 2024 ثم في 2026. بالنسبة لوكالة من عشرة أشخاص، يتجاوز التكلفة السنوية لأداة PM سحابية — Jira أو Asana أو Monday — عادةً 3000 يورو. يُخفّض OpenProject Community edition المستضاف ذاتيًا على VPS هذا البند إلى الصفر خارج تكاليف البنية التحتية.
- مخطط Gantt تفاعلي مع تبعيات المهام والمسار الحرج
- تتبع الوقت لكل مهمة ولكل مشروع، قابل للتصدير بصيغة CSV للفوترة
- معالم وتسليمات تعاقدية مرفقة بخارطة الطريق
- Wiki مدمجة لتوثيق المشروع دون أداة خارجية
- إدارة الإصدارات والنشرات للمشاريع البرمجية
- التحكم في الوصول الدقيق المستند إلى الأدوار (قارئ، مساهم، مدير مشروع، مسؤول)
- رخصة GPLv3: الكود المصدري قابل للتدقيق ولا توجد قياسات بعيدة مفروضة
المتطلبات الأساسية: 2 غيغابايت من الذاكرة كحد أدنى. يعمل OpenProject على Ruby on Rails في الخادم، مما يفسر بصمته الأعلى في الذاكرة مقارنة بأدوات مثل Plane أو Vikunja. من الناحية العملية، يكفي 2 غيغابايت من الذاكرة لفريق من خمسة إلى خمسة عشر شخصًا مع بضعة مشاريع نشطة. يُغطي VPS بمعالجَين افتراضيَّين وذاكرة 2 غيغابايت الحمل. لعشرين شخصًا أو أكثر، يُنصح بالانتقال إلى 4 غيغابايت لتجنب البطء عند تحميل مخططات Gantt المعقدة. يجب أن يوفر القرص 20 غيغابايت على الأقل لـ PostgreSQL والمرفقات والسجلات.
OpenProject وPlane وKaneo: ثلاث أدوات وثلاثة توجهات
ثلاثة أدوات إدارة مشاريع مفتوحة المصدر، ثلاثة مناهج مختلفة. المقارنة أدناه تساعد على الاختيار وفق احتياجات الفريق.
Comparatif
مرّر الجدول أفقيًا
| Critère | Openproject | Plane | Kaneo |
|---|---|---|---|
| النموذج الأساسي | PM مؤسسي: Gantt، معالم، جداول أوقات، ميزانيات | PM رشيق: دورات، إضافة مهام، سباقات، حالات مخصصة | Kanban مرئي: بطاقات وأعمدة وتسميات |
| Gantt أصلي | نعم، مع تبعيات ومسار حرج | لا (خارطة طريق جزئية، بدون تبعيات) | لا |
| تتبع الوقت | نعم، لكل مهمة ولكل مشروع | لا في إصدار المجتمع | لا |
| الفئة المستهدفة | وكالات وفرق ذات معالم تعاقدية ومشاريع متعددة السنوات | فرق المنتج الرشيقة والشركات الناشئة الصغيرة | الفرق التي تريد Kanban بسيطًا |
| الذاكرة الدنيا | 2 غيغابايت | 1 غيغابايت | 512 ميغابايت |
| الرخصة | GPLv3 | AGPL v3 | MIT |
تجهيز الـ VPS
اتصل عبر SSH، وحدِّث الحزم وثبِّت Docker مع إضافة Compose:
apt update && apt install -y docker.io docker-compose-plugin. تحقق من التثبيت بـdocker compose version(يُتوقع الإصدار v2.x).تنزيل ملف Compose الرسمي
استنسخ مستودع النشر الرسمي:
git clone https://github.com/opf/openproject-deploy.git /opt/openproject && cd /opt/openproject/compose. يحتفظ هذا المستودع بملفdocker-compose.ymlوملف.envالموصى به من فريق OpenProject.ضبط متغيرات البيئة
انسخ المثال:
cp .env.example .envثم عدِّل.env. المتغيرات الإلزامية:OPENPROJECT_HOST__NAME=your-domain.com(شرطة سفلية مزدوجة)، وOPENPROJECT_HTTPS=true، وSECRET_KEY_BASEالمولَّد بـopenssl rand -hex 64. عيِّن أيضًاPOSTGRES_PASSWORDوOPENPROJECT_DB_PASSWORDبنفس القيمة القوية.تشغيل الحاويات
شغِّل
docker compose up -d. تُنزَّل صورةopenproject/community:latestبحجم يبلغ نحو 600 ميغابايت. يستغرق الإقلاع الأول دقيقتين إلى أربع دقائق لتنفيذ هجرات قاعدة البيانات. راقب بـdocker compose logs -f webحتى ترى السطرListening on tcp://0.0.0.0:8080.التحقق من استجابة التطبيق
من الـ VPS:
curl -s -o /dev/null -w "%{http_code}" http://localhost:8080. يُؤكد رمز 200 أو 302 أن التطبيق يعمل. في هذه المرحلة يمكن الوصول إليه محليًا فقط — يلي ذلك إعداد nginx في الخطوة التالية.
تثبيت nginx وcertbot
على Debian/Ubuntu:
apt install -y nginx certbot python3-certbot-nginx. تأكد من أن DNS للنطاق يشير إلى عنوان IP للـ VPS قبل المتابعة.إنشاء ملف vhost لـ nginx
أنشئ
/etc/nginx/sites-available/openprojectبالمحتوى التالي:server { listen 80; server_name your-domain.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_read_timeout 120s; client_max_body_size 100M; } }. فعِّل الموقع:ln -s /etc/nginx/sites-available/openproject /etc/nginx/sites-enabled/ && nginx -t && systemctl reload nginx.الحصول على شهادة TLS
نفِّذ
certbot --nginx -d your-domain.com. يُعدِّل Certbot ملف vhost للاستماع على المنفذ 443، ويضيف توجيهاتssl_certificateويُهيئ تحويل HTTP إلى HTTPS تلقائيًا. تتجدد الشهادة عبر مؤقت systemd الخاص بـcertbot.timer.
إنشاء المشروع الأول وضبط مخطط Gantt
بعد نشر OpenProject والوصول إليه، تقود هذه الخطوات إنشاء أول مشروع وتفعيل عرض Gantt.
الوصول إلى الواجهة وتغيير كلمة مرور المسؤول
افتح
https://your-domain.comفي المتصفح. سجِّل الدخول بـadmin/adminوغيِّر كلمة المرور فورًا. ثم اضبط عنوان URL للتطبيق في الإدارة > الإعدادات > عام إذا لم يُكتشف تلقائيًا منOPENPROJECT_HOST__NAME.إنشاء مشروع ودعوة الأعضاء
انقر على مشروع جديد، اختر اسمًا، فعِّل الوحدات المفيدة: المهام، Gantt، تتبع الوقت، Wiki. ادعُ الأعضاء من تبويب الإعدادات > الأعضاء بتعيين دور لكل منهم.
إنشاء المهام وتحديد التبعيات
في عرض قائمة المهام، أنشئ المهام الأولى بتواريخ البداية والنهاية. انتقل إلى عرض Gantt لتصور الجدول الزمني. لإنشاء تبعية، افتح مهمة وأدخل رقم المهمة السابقة في حقل «يسبقها».
ضبط المعالم
المعلم هو مهمة من نوع Milestone. أنشئ معلمًا من عرض Gantt أو من القائمة بتغيير النوع. تظهر المعالم كمعيَّنات على المخطط — مفيدة لتمييز التسليمات التعاقدية.
تفعيل جداول الأوقات
في الإدارة > الإعدادات > سجلات العمل، فعِّل الوحدة. يمكن لكل عضو بعدها تسجيل وقته عبر زر المؤقت على مهمة مفتوحة. التقارير المجمَّعة حسب المشروع والفترة متاحة من التقارير > سجلات العمل.
نسخ احتياطية أسبوعية لـ PostgreSQL: أضف هذا الأمر المجدوَل على الـ VPS لتصدير قاعدة البيانات أسبوعيًا: 0 3 * * 0 docker exec openproject_db pg_dump -U openproject openproject | gzip > /var/backups/openproject_$(date +%Y%m%d).sql.gz. احتفظ بالأرشيفات السبع الأخيرة بـ find /var/backups -name 'openproject_*.sql.gz' -mtime +7 -delete. اختبر الاستعادة مرة في الشهر في بيئة معزولة.
استكشاف الأخطاء — المشكلات الشائعة
الأخطاء الأكثر شيوعاً أثناء نشر OpenProject أو استخدامه لأول مرة، مع حلولها.
- خطأ
502 Bad Gatewayعند الإقلاع الأول: لم تكتمل هجرات Rails. انتظر دقيقتين إلى خمس دقائق وتحقق منdocker compose logs webللتأكد من الاستماع على المنفذ 8080. - صفحة بيضاء أو خطأ 500:
SECRET_KEY_BASEفارغ أو محدَّد بشكل خاطئ. أعد توليده بـopenssl rand -hex 64وأعد التشغيل بـdocker compose up -d --force-recreate. - رفض المرفقات: الحجم الافتراضي لـ nginx هو 1 ميغابايت. زد
client_max_body_sizeفي ملف vhost (100 ميغابايت موصى بها لملفات المشاريع). - مشاكل إرسال البريد الإلكتروني: اضبط متغيرات
OPENPROJECT_SMTP_*في.env(خادم SMTP، المنفذ 587، بيانات الاعتماد). بدون إعداد SMTP، لن تُرسَل دعوات الأعضاء. - تحديث الصورة:
docker compose pull && docker compose up -d. يُنفِّذ OpenProject الهجرات تلقائيًا عند الإقلاع. احتفظ بنسخة احتياطية من قاعدة البيانات قبل كل تحديث رئيسي.
التبني السيادي: الحالة الهولندية. في سبتمبر 2026، نشرت الحكومة الهولندية مواصفات DAWO (Digitaal Autonome Werkomgeving Overheid)، وهو خطة بيئة عمل سيادية قائمة على NixOS. تشمل الحزمة المختارة Nextcloud للملفات، وElement للمراسلة، وCollabora لمستندات المكتب، وOpenProject لإدارة المشاريع. هذا الاختيار يُثبت نضج الأداة في السياقات التي لا يمكن فيها تفويض استضافة البيانات لمزود أمريكي.
للمزيد. يُغطي OpenProject المشاريع ذات المتطلبات الثقيلة في Gantt وجداول الأوقات. بالنسبة لإدارة المتراكمات في بيئة رشيقة، يُناسب Plane (الدورات والسباقات) أكثر. أما للـ Kanban الخفيف بأدنى استهلاك للذاكرة، يظل Kaneo الخيار الأوفر. إذا كنت تدير عملاء متعددين من واجهة واحدة، يتيح لك فضاء الوكالة في ServOrbit الإشراف على VPS كل عميل والوصول إلى وحدات التحكم وإدارة التجديدات دون التنقل بين لوحات قيادة متعددة.