[{"data":1,"prerenderedAt":161},["ShallowReactive",2],{"seo-verification":3,"blog-تحديث-mattermost-من-v10-إلى-v11-lts-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":104,"ctaBody":105,"ctaButton":106,"ctaUrl":107,"relatedPosts":108},284,"تحديث-mattermost-من-v10-إلى-v11-lts",{"fr":10,"en":11,"ar":8},"mettre-a-jour-mattermost-v10-v11-lts","upgrade-mattermost-v10-to-v11-lts","تحديث Mattermost من v10 إلى v11 LTS","وصل Mattermost ESR v10.11 إلى نهاية دعمه في 15 أغسطس 2026. انتقل إلى v11 LTS دون فقدان البيانات أو سجل الرسائل باتباع هذا الدليل خطوة بخطوة.",10,0,false,"2026-08-19T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmettre-a-jour-mattermost-v10-v11-lts-poster.svg",{"categorySlug":30,"appSlug":31},"التعاون-والإنتاجية","mattermost","‏Mattermost ESR v10.11 وصل إلى نهاية دعمه الرسمي في 15 أغسطس 2026: الأنظمة التي لم تُحدَّث لم تعد تتلقى أي تحديثات أمنية. ‏v11 هي النسخة ذات الدعم الممتد الحالية — وهي الهدف. يغطي هذا الدليل النسخ الاحتياطي لـ ‏PostgreSQL وتحديث ‏Docker والتحقق بعد الهجرة، مع الحفاظ الكامل على سجل رسائلك والإضافات المثبتة.",[34,38,48,51,91,95,98,101],{"type":35,"title":36,"body":37},"h2","لماذا التحديث الآن","‏تُصدر Mattermost إصدارات ESR (Extended Support Release) بعمر دعم ممتد، ثم تُعلن عن نهاية دعمها في تاريخ محدد مسبقاً. **وصل ESR v10.11 إلى نهاية دعمه في 15 أغسطس 2026.** من هذا التاريخ، لا تُنقل أي تصحيحات أمنية إلى هذا الفرع: الثغرات المكتشفة بعد تاريخ انتهاء الدعم تبقى مفتوحة على الأنظمة التي لا تُهاجر.\n\nمنصة المراسلة الجماعية تستقبل مرفقات وبيانات اعتماد مشتركة عبر الرسائل المباشرة، وأحياناً مفاتيح ‏API مُضمَّنة في الرسائل. نظام غير مُرقَّع يُعرِّض هذه البيانات لأي ثغرة لم تُعالَج. ‏v11 هي النسخة LTS الحالية — الوحيدة التي ستتلقى التصحيحات خلال الأشهر القادمة.",{"type":39,"title":40,"items":41},"ul","ما الذي تجلبه v11 LTS مقارنةً بـ ESR v10.x",[42,43,44,45,46,47],"**تصحيحات أمنية نشطة** — يتلقى الفرع إصلاحات الأمان التي ينشرها فريق Mattermost طوال دورة دعمه.","**تحسينات في الأداء** — استعلامات PostgreSQL محسَّنة وتقليل استهلاك الذاكرة تحت الأحمال العالية.","**واجهة مكالمات فيديو محسَّنة** — جودة واستقرار أفضل للمكالمات في القنوات.","**إضافات مُحدَّثة** — الإضافات الرسمية (‏Calls وBoards وPlaybooks) لها إصدارات متوافقة مع v11 منشورة في مدير الإضافات.","**إصلاحات هجرة قاعدة البيانات** — الهجرات المتراكمة منذ v10 تُطبَّق بشكل نظيف مما يُحسِّن سلامة المخطط على المدى البعيد.","**دعم ممتد** — تستفيد v11 LTS من نافذة دعم مطوَّلة، مما يتجنب هجرة أخرى في المستقبل القريب.",{"type":35,"title":49,"body":50},"المتطلبات الأساسية قبل البدء","تحقق من النقاط التالية قبل إطلاق الإجراء.\n\n‏**Docker Compose v2** — يجب أن يستجيب الأمر `docker compose version` (بمسافة، لا بشرطة). إذا كنت لا تزال تستخدم `docker-compose` v1، انتقل أولاً إلى Compose v2: الصور الرسمية لـ Mattermost v11 تفترض هذا التنسيق.\n\n**صلاحيات root أو sudo** على الـ VPS — الأوامر التالية تتعامل مع أحجام Docker وملفات الإعداد.\n\n**مساحة قرص كافية** — تحقق باستخدام `df -h` أن وحدة التخزين التي تستضيف أحجام Docker لديها 3 غيغابايت على الأقل لتخزين النسخ الاحتياطية والصور المؤقتة.\n\n**ذاكرة RAM كافية** — يعمل Mattermost v11 بسلاسة مع 2 غيغابايت RAM لأقل من 50 مستخدماً نشطاً. تحقق باستخدام `free -m` قبل التحديث.\n\n**تسجيل الإصدار الحالي** — قبل أي عملية، سجِّل الإصدار المثبت: `docker exec \u003Cmattermost-container> mattermost version`. هذه هي الخطوة الأولى من الإجراء.",{"type":52,"title":53,"steps":54},"steps","إجراء التحديث خطوة بخطوة",[55,58,61,64,67,70,73,76,79,82,85,88],{"title":56,"body":57},"تسجيل الإصدار الحالي","قبل تغيير أي شيء، سجِّل الإصدار الحالي:\n\n```bash\ndocker exec mattermost mattermost version\n```\n\nسجِّل الرقم (مثلاً `v10.11.2`). هذا المرجع يمكِّنك من المقارنة بعد التحديث والتأكد من أن الهجرة تمت بالفعل.",{"title":59,"body":60},"نسخ احتياطي لقاعدة بيانات PostgreSQL","هذه هي الخطوة الأكثر أهمية. نفِّذ `pg_dump` من حاوية PostgreSQL:\n\n```bash\ndocker exec \u003Cpg-container> pg_dump -U mattermost mattermost > backup_mattermost_$(date +%Y%m%d).sql\n```\n\nاستبدل `\u003Cpg-container>` باسم حاويتك الفعلي (يظهر باستخدام `docker ps`). تحقق من أن ملف `.sql` الذي تم إنشاؤه ليس فارغاً (`ls -lh backup_mattermost_*.sql`). بدون هذا النسخ الاحتياطي، أي فشل في هجرة قاعدة البيانات لا يمكن عكسه.",{"title":62,"body":63},"نسخ احتياطي لأحجام Docker","احتفظ أيضاً بنسخة احتياطية من أحجام Mattermost (الإعداد والبيانات والإضافات):\n\n```bash\ntar czf mattermost_volumes_$(date +%Y%m%d).tar.gz \u002Fopt\u002Fmattermost\u002Fconfig \u002Fopt\u002Fmattermost\u002Fdata \u002Fopt\u002Fmattermost\u002Fplugins \u002Fopt\u002Fmattermost\u002Flogs\n```\n\nعدِّل المسار ليتوافق مع تثبيتك (`\u002Fopt\u002Fmattermost` هو المجلد القياسي للمستودع الرسمي `mattermost-docker`). انقل الأرشيف إلى تخزين خارجي بعيداً عن الـ VPS قبل المتابعة.",{"title":65,"body":66},"تسجيل الإضافات النشطة","من **System Console → Plugins → Plugin Management**، سرِّد جميع الإضافات المُفعَّلة مع إصداراتها. دوِّنها في ملف نصي: بعد التحديث، ستحتاج إلى التحقق من توافق كل منها.\n\nبديلاً، عبر واجهة برمجة التطبيقات:\n\n```bash\ncurl -s -H \"Authorization: Bearer \u003Cyour-token>\" https:\u002F\u002Fchat.yourdomain.com\u002Fapi\u002Fv4\u002Fplugins | python3 -m json.tool | grep -E '\"id\"|\"version\"|\"active\"'\n```",{"title":68,"body":69},"إيقاف Mattermost وPostgreSQL","أوقف التشغيل بشكل نظيف قبل سحب الصور الجديدة:\n\n```bash\ndocker compose down\n```\n\nتحقق من أنه لا توجد حاوية Mattermost تعمل: `docker ps | grep mattermost`.",{"title":71,"body":72},"سحب الصور الجديدة","من المجلد الذي يحتوي على `docker-compose.yml` الخاص بك:\n\n```bash\ndocker compose pull\n```\n\nيُنزِّل هذا الأمر الصور الجديدة لجميع الخدمات المُعلَن عنها (`mattermost` و`postgres`). إذا كان `docker-compose.yml` يُثبِّت إصداراً صريحاً (`mattermost\u002Fmattermost-team-edition:v10.x.x`)، حدِّثه إلى `v11` أو `latest` (ثم ثبِّت الملخص الدقيق لتحقيق قابلية الاستنساخ).",{"title":74,"body":75},"إعادة تشغيل التشغيل المتراص","أعد تشغيل جميع الخدمات:\n\n```bash\ndocker compose up -d\n```\n\nيبدأ Mattermost، يكتشف أن قاعدة البيانات في مخطط v10 وينطلق في الهجرات تلقائياً. قد تستغرق هذه الخطوة من 30 ثانية إلى بضع دقائق حسب حجم قاعدة بياناتك.",{"title":77,"body":78},"التحقق من هجرات قاعدة البيانات","تابع السجلات فور بدء التشغيل:\n\n```bash\ndocker compose logs mattermost | grep -i migrat\n```\n\nالسطور المتوقعة تبدو كـ `Running migration X.Y` أو `Migrating database from version X`. إذا رأيت `failed to run migrations` أو `error running migration`، أوقف التشغيل (`docker compose down`) واستعد من النسخة الاحتياطية قبل المتابعة.\n\nللمتابعة المباشرة: `docker compose logs -f mattermost` — انتظر رسالة `Server is listening on`.",{"title":80,"body":81},"التحقق من الإصدار الجديد","تأكد من أن التحديث ساري المفعول:\n\n```bash\ndocker exec mattermost mattermost version\n```\n\nيجب أن يُظهر الإخراج رقماً `v11.x.x`. سجِّل الدخول إلى واجهة الويب وانتقل إلى **System Console → About → Mattermost Server** للتحقق المتقاطع.",{"title":83,"body":84},"اختبار الوظائف الحرجة","قبل التصديق على التحديث، اختبر يدوياً النقاط التالية:\n\n- تسجيل الدخول بحساب مستخدم\n- إرسال رسالة واستقبالها في قناة عامة\n- إرسال رسالة مباشرة\n- تحميل مرفق\n- التحقق من سجل الرسائل السابق للتحديث\n- التأكد من أن الـ Webhooks الواردة تعمل إن كنت قد هيأتها\n\nيجب أن يبقى السجل الكامل للرسائل متاحاً: هذه هي النقطة الأولى للتحقق.",{"title":86,"body":87},"التحقق من الإضافات","في **System Console → Plugins → Plugin Management**، قارن القائمة بالملاحظات من الخطوة 4. لكل إضافة مُفعَّلة:\n\n1. تحقق من أنها لا تزال تظهر كـ **نشطة**.\n2. إذا كانت إضافة معطَّلة برسالة عدم توافق، تحقق من مستودعها للعثور على إصدار متوافق مع v11.\n3. حدِّثها من مدير الإضافات إذا كان إصدار جديد متاحاً.\n\nالإضافات الرسمية لـ Mattermost (‏Calls وBoards وPlaybooks وJira وGitHub) تُحدَّث بالتزامن مع الخادم وتتوفر مباشرةً في سوق الإضافات المدمج — تحقق فقط من أنها في أحدث إصدار متاح.",{"title":89,"body":90},"تنظيف صور Docker القديمة","بمجرد التحقق من صحة التحديث في بيئة الإنتاج، حرِّر المساحة التي تشغلها الصور القديمة:\n\n```bash\ndocker image prune -f\n```\n\nيحذف هذا الأمر جميع الصور غير المستخدمة من قِبَل حاوية نشطة. قد يُعيد عدة غيغابايتات إذا كنت قد احتفظت بإصدارات متعددة من صور Mattermost.",{"type":92,"title":93,"body":94},"tip","اختبر التحديث دائماً خارج بيئة الإنتاج أولاً","إذا كنت تُدير نظاماً في بيئة الإنتاج مع مستخدمين كثيرين، كرِّر العملية في بيئة اختبار أولاً. استعد نسخة من تفريغ PostgreSQL على VPS اختباري، ونفِّذ الإجراء كاملاً، وتحقق من النتيجة. يكشف هذا عن عدم توافق الإضافات وأخطاء الهجرة المحتملة قبل أن تؤثر على مستخدميك.",{"type":35,"title":96,"body":97},"توافق الإضافات بعد التحديث","‏أدخلت v11 تغييرات على واجهة برمجة الإضافات. غالبية الإضافات الرسمية والإضافات المجتمعية النشطة متوافقة، لكن قد تظهر عدم توافقات مع الإضافات القديمة غير المُصانة.\n\n**كيفية التحقق من التوافق:** انتقل إلى **System Console → Plugins → Plugin Management**. الإضافة غير المتوافقة تظهر بحالة خطأ ورسالة تُحدِّد الحد الأدنى من الإصدار المطلوب.\n\n**إذا كانت إضافة غير متوافقة:**\n\n1. تحقق من مستودع GitHub الخاص بالإضافة لمعرفة ما إذا كان قد نُشر إصدار متوافق مع v11.\n2. إذا كان الجواب نعم، نزِّل ملف `.tar.gz` وثبِّته من **System Console → Plugins → Upload Plugin**.\n3. إذا كان الجواب لا، قيِّم ما إذا كانت الإضافة حرجة. إذا كانت كذلك، أبلغ المطورين المسؤولين واحتفظ بنسخة v10 (التفريغ) في غضون ذلك.\n\n**الإضافات الرسمية لـ Mattermost** (‏Calls وBoards وPlaybooks وJira وGitHub) تُحدَّث في نفس وقت الخادم وتتوفر مباشرةً في سوق الإضافات المدمج — تحقق فقط من أنها في أحدث إصدار متاح.",{"type":35,"title":99,"body":100},"استكشاف الأخطاء: المشاكل الشائعة","‏**`failed to run migrations` في السجلات**\nفشلت هجرة قاعدة البيانات. الأسباب الشائعة: حاوية PostgreSQL لم تبدأ قبل Mattermost (مشكلة ترتيب التشغيل في Compose)، أو الأذونات على قاعدة البيانات غير صحيحة. أوقف التشغيل بـ `docker compose down`، تحقق من أن `postgres` يبدأ قبل `mattermost` (شرط `depends_on` في `docker-compose.yml`)، ثم أعد التشغيل. إذا استمر الخطأ، استعد من التفريغ وافحص السجلات الكاملة بـ `docker compose logs mattermost 2>&1 | grep -i error`.\n\n**إضافة معطَّلة كغير متوافقة فور التحديث**\nالإضافة مرتبطة بـ API قديم. عطِّلها من وحدة التحكم (`System Console → Plugins → Plugin Management → Disable`) لتبقى Mattermost تعمل، ثم حدِّث الإضافة بشكل منفصل.\n\n**SIGTERM أثناء الهجرة (الحاوية توقفت في منتصف العمل)**\nإذا أعادت حاوية Mattermost التشغيل أثناء الهجرة (انتهاء مهلة Docker، SIGTERM)، قد تجد قاعدة البيانات في حالة وسيطة. العلامة: `mattermost version` يُظهر رقماً هجيناً أو السجلات تُظهر أخطاء أعمدة مفقودة. استعد من تفريغ PostgreSQL وأعد التشغيل مع التأكد من أن `MATTERMOST_UPGRADE_TIMEOUT` مضبوط على قيمة كافية (600 ثانية كحد أدنى لقواعد البيانات الكبيرة).\n\n**مشكلة في الاتصال بعد إعادة التشغيل**\nإذا كانت الواجهة تستجيب لكن المستخدمين لا يمكنهم تسجيل الدخول، تحقق من أن `MM_SERVICESETTINGS_SITEURL` في `docker-compose.yml` هو `https:\u002F\u002F` ويتطابق تماماً مع عنوان URL الذي تستخدمه. أي تغيير في اسم المضيف أو البروتوكول أثناء التحديث يُبطل رموز الجلسة الموجودة.\n\n‏**خطأ `database schema version mismatch`**\nيكتشف Mattermost فجوة بين إصدار الملف الثنائي ومخطط قاعدة البيانات. يحدث هذا إذا كنت قد ثبَّتت صورة v10 ومحاولة سابقة جزئية تركت المخطط في حالة v11 جزئية. استعد التفريغ الكامل لـ v10، ثم أعد الإجراء من الخطوة 5.",{"type":35,"title":102,"body":103},"بعد التحديث: أفضل الممارسات","بمجرد التحقق من صحة v11 في بيئة الإنتاج، بعض الإعدادات تُبقي النظام في حالة مضبوطة.\n\n**ثبِّت إصدار الصورة في `docker-compose.yml`** — استبدل `latest` بالوسم الدقيق (`mattermost\u002Fmattermost-team-edition:v11.x.x`). يمنع هذا أمر `docker compose pull` المستقبلي من سحب إصدار أحدث بصمت دون قرار منك.\n\n**جدوِل النسخ الاحتياطية لـ PostgreSQL** — مهمة cron تُنفِّذ `pg_dump` كل 24 ساعة وتحتفظ بآخر 7 تفريغات هو الحد الأدنى لنظام إنتاج.\n\n**راقب قناة أمان Mattermost** — اشترك في `https:\u002F\u002Fmattermost.com\u002Fsecurity-updates\u002F` لتلقي إعلانات CVE. سيُعلَن عن نهاية دعم v11 LTS القادمة قبل أشهر.\n\n**لمزيد من القراءة**، راجع دليل التثبيت الأولي في مقالة [استضافة Mattermost على VPS خاص](\u002Fblog\u002Fheberger-mattermost) وحجج مغادرة Slack في [الهجرة من Slack إلى Mattermost أو Rocket.Chat على VPS](\u002Fblog\u002Fmigration-slack-mattermost-rocketchat-vps).","استضف Mattermost على بنيتك التحتية الخاصة","‏VPS سحابي من ServOrbit مُجهَّز بـ Docker يمنحك الأساس لنشر Mattermost وصيانته دون الاعتماد على مزود SaaS. رسائلك وسجلاتك تبقى على بنيتك التحتية.","نشر Mattermost على VPS","\u002Fvps-cloud",[109,127,143],{"id":110,"slug":111,"slugs":112,"title":115,"excerpt":116,"readTime":14,"views":15,"isPinned":16,"publishedAt":117,"category":118,"categories":123,"featuredImage":26,"bgImage":27,"posterImage":125,"relatedSolution":126},262,"الهجرة-من-slack-إلى-mattermost-أو-rocketchat-على-vps",{"fr":113,"en":114,"ar":111},"migration-slack-mattermost-rocketchat-vps","migrating-from-slack-to-mattermost-or-rocketchat-on-a-vps","الهجرة من ‎Slack‎ إلى ‎Mattermost‎ أو ‎Rocket.Chat‎ على ‎VPS","‎Slack‎ يشترط الخطط المدفوعة للوصول إلى السجل و‎SSO‎. استضِف ‎Mattermost‎ أو ‎Rocket.Chat‎ على خادمك: دليل الهجرة خطوة بخطوة مع استيراد سجل ‎Slack‎.","2026-08-14T00:00:00+00:00",{"id":119,"name":120,"slug":121,"color":122,"icon":121},5,"مقارنات","comparatif","bg-info\u002F10 text-info",[124],{"id":119,"name":120,"slug":121,"color":122,"icon":121},"\u002Fblog\u002Fcovers\u002Fmigration-slack-mattermost-rocketchat-vps-poster.svg",{"categorySlug":30,"appSlug":31},{"id":128,"slug":129,"slugs":130,"title":133,"excerpt":134,"readTime":135,"views":136,"isPinned":16,"publishedAt":137,"category":138,"categories":139,"featuredImage":26,"bgImage":27,"posterImage":141,"relatedSolution":142},76,"استضافة-mattermost-على-خادم-vps-الخاص-بك",{"fr":131,"en":132,"ar":129},"heberger-mattermost","host-mattermost-on-your-own-vps","استضافة Mattermost على خادم VPS الخاص بك","انشُر Mattermost على خادم VPS مع Docker وPostgreSQL وSSL. منصة مراسلة خاصة للفِرق، بديل ذاتي الاستضافة عن Slack.",4,1,"2026-04-05T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[140],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fheberger-mattermost-poster.svg",{"categorySlug":21,"appSlug":31},{"id":144,"slug":145,"slugs":146,"title":149,"excerpt":150,"readTime":151,"views":15,"isPinned":16,"publishedAt":152,"category":153,"categories":158,"featuredImage":26,"bgImage":27,"posterImage":160,"relatedSolution":26},229,"docker-compose-في-الإنتاج-قائمة-التحقق-من-10-نقاط",{"fr":147,"en":148,"ar":145},"docker-compose-production-checklist","docker-compose-in-production-10-point-checklist","Docker Compose في الإنتاج: قائمة التحقق من 10 نقاط","‎10 إعدادات Docker Compose يجب التحقق منها قبل أي نشر إنتاجي: إعادة التشغيل والفحوص الصحية والحدود والأسرار والسجلات.",14,"2026-08-06T00:00:00+00:00",{"id":154,"name":155,"slug":156,"color":157,"icon":156},3,"النشر","deploiement","bg-success\u002F10 text-success",[159],{"id":154,"name":155,"slug":156,"color":157,"icon":156},"\u002Fblog\u002Fcovers\u002Fdocker-compose-production-checklist-poster.svg",1787580949007]