[{"data":1,"prerenderedAt":202},["ShallowReactive",2],{"seo-verification":3,"blog-الهجرة-من-slack-إلى-mattermost-أو-rocketchat-على-vps-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":23,"featuredImage":25,"bgImage":26,"posterImage":27,"relatedSolution":28,"intro":31,"sections":32,"ctaTitle":150,"ctaBody":151,"ctaButton":152,"ctaUrl":153,"relatedPosts":154},262,"الهجرة-من-slack-إلى-mattermost-أو-rocketchat-على-vps",{"fr":10,"en":11,"ar":8},"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‎.",10,0,false,"2026-08-14T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},5,"مقارنات","comparatif","bg-info\u002F10 text-info",[24],{"id":19,"name":20,"slug":21,"color":22,"icon":21},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmigration-slack-mattermost-rocketchat-vps-poster.svg",{"categorySlug":29,"appSlug":30},"التعاون-والإنتاجية","mattermost","حين طالب ‎Slack‎ نادي ‎Hack Club‎ بـ‎50,000 $‎ فورًا ثم ‎200,000 $‎ سنويًا تحت طائلة حذف أحد عشر عامًا من السجل، لم تعد المسألة مقارنة خطط، بل سؤالًا عن ملكية سجل تواصلكم. يُجيب ‎Mattermost‎ و‎Rocket.Chat‎ بالاستضافة الذاتية: رسائلكم وقنواتكم وتكاملاتكم على خادم ‎VPS‎ تتحكمون فيه. يغطّي هذا الدليل المتطلبات وتصدير ‎Slack‎ والنشر بـ‎Docker‎ واستيراد السجل.",[33,37,48,85,88,104,125,140,143,147],{"type":34,"title":35,"body":36},"h2","لماذا باتت الهجرة من ‎Slack‎ أمرًا عاجلًا","في عام 2024، تلقّى نادي ‎Hack Club‎ مطالبة من ‎Slack‎: 50,000 $ فورًا ثم 200,000 $ سنويًا، أو حذف أحد عشر عامًا من السجل المجتمعي. ليس هذا حالةً استثنائية، بل منطق ناشر يعلم أن سجلّكم أصل استراتيجي واتخذ منه ذريعةً لخطة ‎Enterprise‎. آليتا الاحتجاز تتضافران: أولاهما السجل، إذ لا يُتيح ‎Slack‎ على الخطتين المجانية و‎Pro‎ إلا نافذةً متحركة، وتستلزم الرؤية الكاملة خطة ‎Business+‎ أو ‎Enterprise Grid‎. وثانيتهما ‎SSO‎: الاتصال بمزوّد الهوية (‎Okta‎ أو ‎Azure AD‎ أو ‎Google Workspace‎) محجوز لخطة ‎Enterprise‎ التي تُكلّف نحو 20 $ للمستخدم شهريًا. لفريق من خمسين شخصًا يعني ذلك 12,000 $ سنويًا مقابل ميزة يوفّرها ‎Mattermost‎ و‎Rocket.Chat‎ مجانًا منذ لحظة التثبيت. السؤال الحقيقي إذًا ليس «هل ‎Slack‎ جيد؟» بل «بأي ثمن نقبل الاعتماد على ناشر للوصول إلى محادثاتنا الخاصة مع العملاء؟».",{"type":38,"title":39,"items":40},"ul","الفوائد الملموسة لاستضافة منصة مراسلة الفريق ذاتيًا",[41,42,43,44,45,46,47],"**سجل غير محدود** — جميع رسائلكم وقنواتكم ومرفقاتكم متاحة إلى أجل غير مسمى دون تكلفة إضافية.","**‎SSO‎ و‎LDAP‎ أصليّان ومجانيّان** — اربطوا دليل شركتكم دون الحاجة إلى خطة مؤسسية لدى الناشر.","**البيانات تحت سيطرتكم** — مراسلات العملاء والعقود المتناقَشة في الرسائل المباشرة والملفات المشتركة تبقى على بنيتكم التحتية.","**تكلفة يمكن التنبؤ بها** — سعر ‎VPS‎ شهري ثابت، لا اشتراك مرتبط بنمو فريقكم.","**تكاملات مخصصة** — ‎webhook‎ وبوتات و‎API‎ دون قيود خطة.","**امتثال ميسّر** — احتفاظ قابل للتهيئة وتصدير عند الطلب وسجل تدقيق لتلبية المتطلبات القانونية أو التعاقدية.","**استقلالية عن قرارات الناشر** — لا تغييرات مفاجئة في الأسعار ولا نافذة 30 يومًا للتكيّف.",{"type":49,"title":50,"headers":51,"rows":56},"comparison","‎Mattermost‎ مقابل ‎Rocket.Chat‎ مقابل ‎Slack Enterprise‎",[52,53,54,55],"المعيار","‎Mattermost‎ (استضافة ذاتية)","‎Rocket.Chat‎ (استضافة ذاتية)","‎Slack Enterprise Grid‎",[57,62,67,71,75,80],[58,59,60,61],"الرخصة","‎MIT‎ (الخادم) \u002F ‎Apache 2.0‎","‎AGPL-3.0‎","مملوكة",[63,64,65,66],"الذاكرة الدنيا","‎2 GB‎ (فريق أقل من 50)","‎4 GB‎ (‎replica set MongoDB‎ إلزامي)","‎SaaS‎، لا خادم لإدارته",[68,69,69,70],"‎SSO \u002F SAML \u002F LDAP‎","مجاني في الاستضافة الذاتية","نحو ‎20 $\u002Fuser\u002Fmonth‎ (خطة ‎Enterprise‎)",[72,73,73,74],"السجل الكامل","غير محدود على قرصكم","مشروط بخطة مدفوعة",[76,77,78,79],"القنوات المتعددة (‎live chat‎، بريد، ‎WhatsApp‎…)","محدود (إضافات المجتمع)","أصلي وكامل","لا (مراسلات داخلية فقط)",[81,82,83,84],"الاستيراد من ‎Slack‎","أداة رسمية `mattermost import slack`","استيراد ‎Slack‎ عبر واجهة الإدارة","غير منطبق",{"type":34,"title":86,"body":87},"متطلبات الخادم قبل البدء","يبدأ الاختيار بين ‎Mattermost‎ و‎Rocket.Chat‎ من المتطلبات المادية. يستخدم ‎Mattermost‎ قاعدة بيانات ‎PostgreSQL‎ ويمكنه العمل بـ2 GB من الذاكرة لفريق أقل من خمسين، وخادم ‎VPS‎ متواضع يكفي للهجرة الأولية. أما ‎Rocket.Chat‎ فيعتمد ‎MongoDB‎ في وضع ‎replica set‎: حتى بعقدة واحدة، هذا الوضع إلزامي منذ الإصدار 6، مما يرفع الحد الأدنى إلى 4 GB. برمجيًا، كلاهما يستلزم ‎Docker‎ و‎Docker Compose‎، ونطاقًا فرعيًا مخصصًا مع شهادة ‎SSL‎، وخادم ‎SMTP‎ للإشعارات والدعوات. افتحوا المنفذ 443 وتحققوا أن حركة ‎WebSocket‎ ليست محجوبة، فهي أول نقطة عثرة بعد التثبيت. أخيرًا، خططوا لمساحة قرص تناسب حجم الملفات المشتركة التي تنوون استيرادها.",{"type":89,"title":90,"steps":91},"steps","تصدير سجل ‎Slack‎",[92,95,98,101],{"title":93,"body":94},"الوصول إلى التصدير من إدارة ‎Slack‎","سجّلوا دخولكم كمدير لمساحة العمل، انتقلوا إلى الإعدادات والإدارة > إعدادات مساحة العمل > استيراد\u002Fتصدير البيانات. تبويب التصدير متاح في خطة ‎Pro‎ وما فوقها.",{"title":96,"body":97},"اختيار النطاق الزمني وإطلاق التصدير","اختاروا «جميع الرسائل» لتصدير كامل السجل المتاح. ينشئ ‎Slack‎ أرشيف ‎ZIP‎ يحتوي ملف ‎JSON‎ لكل قناة عامة، وبيانات المستخدمين، وقائمة القنوات. القنوات الخاصة والرسائل المباشرة لا تُدرج إلا في خطة ‎Business+‎ أو ‎Enterprise‎.",{"title":99,"body":100},"تنزيل الأرشيف والتحقق من محتواه","عند اكتمال التصدير (من دقائق إلى ساعات حسب الحجم)، نزّلوا ملف ‎ZIP‎. فكّوا ضغطه محليًا وتحققوا من وجود مجلدات القنوات وملفَي `users.json` و`channels.json`؛ هذه الملفات الثلاثة هي ما تتوقعه أداة الاستيراد في ‎Mattermost‎.",{"title":102,"body":103},"نقل الأرشيف إلى الخادم ‎VPS‎","انسخوا الأرشيف إلى الخادم باستخدام: `scp slack_export.zip user@your-vps:\u002Fopt\u002Fmattermost\u002Fimports\u002F`. تجنّبوا فكّ الضغط على الخادم قبل الاستيراد — تعمل الأداة مباشرةً على ملف ‎ZIP‎.",{"type":89,"title":105,"steps":106},"نشر ‎Mattermost‎ على ‎VPS‎ باستخدام ‎Docker‎",[107,110,113,116,119,122],{"title":108,"body":109},"إنشاء هيكل المجلدات","على الخادم، أنشئوا مجلد العمل: `mkdir -p \u002Fopt\u002Fmattermost\u002F{config,data,logs,plugins,client\u002Fplugins,bleve-indexes,imports}`. ستُوصَل هذه المجلدات كأحجام ‎Docker‎ وتحتوي الإعدادات وبيانات المستخدمين والملفات المستوردة.",{"title":111,"body":112},"كتابة ملف ‎docker-compose.yml‎","عرّفوا خدمتين: `postgres` (صورة `postgres:15`) بحجم مُسمّى للبيانات، و`mattermost` (صورة `mattermost\u002Fmattermost-team-edition:latest`). اربطوهما بشبكة ‎Docker‎ داخلية ووصّلوا المجلدات الخمسة. مرّروا المتغير `MM_SQLSETTINGS_DATASOURCE` مشيرًا إلى خدمة `postgres`، ولا تعرّضوا المنفذ 8065 إلا على الحلقة المحلية (`127.0.0.1:8065:8065`).",{"title":114,"body":115},"إعداد الوكيل العكسي بـ‎Caddy‎","أنشئوا ملف `Caddyfile` بالمدخل التالي: `chat.yourdomain.com { reverse_proxy localhost:8065 }`. يحصل ‎Caddy‎ على شهادة ‎Let's Encrypt‎ ويجددها تلقائيًا. أعيدوا تشغيل ‎Caddy‎ بعد التحقق من أن النطاق الفرعي يشير إلى ‎IP‎ الخادم.",{"title":117,"body":118},"تشغيل الـ‎stack‎ وإنشاء حساب المدير","نفّذوا `docker compose up -d`، انتظروا نحو ثلاثين ثانية وراقبوا السجلات بـ`docker compose logs -f mattermost`. افتحوا `https:\u002F\u002Fchat.yourdomain.com` لإنشاء حساب المدير الأول عبر معالج الإعداد.",{"title":120,"body":121},"إعداد ‎SMTP‎ والإشعارات","في النظام > الإشعارات > البريد الإلكتروني، أدخلوا بيانات خادم ‎SMTP‎. أرسلوا بريدًا تجريبيًا قبل المتابعة: دعوات المستخدمين وإشعارات الرسائل تعتمد على هذا الإعداد.",{"title":123,"body":124},"تفعيل ‎SSO‎ أو ‎LDAP‎","في النظام > المصادقة، فعّلوا ‎LDAP‎ أو ‎SAML‎ وفق دليل شركتكم. كلاهما متاح مجانًا في الاستضافة الذاتية دون قيود. اختبروا الاتصال بحساب خدمة قبل دعوة مستخدميكم.",{"type":89,"title":126,"steps":127},"استيراد سجل ‎Slack‎ إلى ‎Mattermost‎",[128,131,134,137],{"title":129,"body":130},"إعداد الاستيراد بالأداة الرسمية","أداة `mattermost import slack` مدمجة في ثنائي ‎Mattermost‎. من حاوية ‎Docker‎ نفّذوا: `docker compose exec mattermost mattermost import slack \u002Fmattermost\u002Fimports\u002Fslack_export.zip --team اسم-فريقكم`. تحوّل الأداة تنسيق ‎JSON‎ من ‎Slack‎ إلى تنسيق ‎Bulk Import‎ وتُبلّغ عن أي تعارضات.",{"title":132,"body":133},"تنفيذ الاستيراد الجماعي","بعد التحويل، يولّد ‎Mattermost‎ ملف ‎JSONL‎. نفّذوا الاستيراد الفعلي بـ`docker compose exec mattermost mattermost import bulk \u002Fmattermost\u002Fimports\u002Fmattermost_import.jsonl --workers 1`. الخيار `--workers 1` يتجنب تعارضات الكتابة على القواعد متوسطة الحجم.",{"title":135,"body":136},"التحقق من القنوات والمستخدمين المستوردين","بعد اكتمال الاستيراد، سجّلوا دخولكم وتحققوا من ظهور القنوات العامة وصحة الرسائل التاريخية وأسماء المؤلفين، ومن قدرة المستخدمين المستوردين على تسجيل الدخول عبر دعوة البريد الإلكتروني.",{"title":138,"body":139},"التعامل مع المرفقات المفقودة","لا يشمل تصدير ‎Slack‎ القياسي الملفات المرفقة في الخطط دون ‎Business+‎. إن كانت ثمة مرفقات مفقودة ستظهر الرسائل بروابط معطّلة. وثّقوا القنوات المتأثرة وأبلغوا مستخدميكم: ستحتاجون إلى إعادة إرفاق الملفات الحيوية يدويًا.",{"type":34,"title":141,"body":142},"البديل: ‎Rocket.Chat‎ لدعم عملاء موحّد","إن تجاوزت احتياجاتكم المراسلة الداخلية وشملت دعم العملاء في الوقت الفعلي، يُعدّ ‎Rocket.Chat‎ الخيار الأمثل في عالم المصدر المفتوح. تتيح وحدته متعددة القنوات تركيز المحادثات من أداة ‎live chat‎ على موقعكم والبريد الوارد ورسائل ‎WhatsApp Business‎ وقنوات ‎Telegram‎ في واجهة واحدة. يرى وكلاء الدعم قائمة تذاكر موحدة مع السجل الكامل لكل جهة اتصال. يميّز هذا التوجه الأداتين بوضوح: ‎Mattermost‎ منصة مراسلة فريق منظّمة قريبة من ‎Slack‎ في استخداماتها، و‎Rocket.Chat‎ منصة تواصل تستوعب أيضًا قنوات العملاء الخارجية. في المقابل، تزداد تعقيدات التثبيت: ‎replica set MongoDB‎ إلزامي، والموارد الدنيا أعلى، وتهيئة القنوات المتعددة تستوجب ضبطًا دقيقًا للتوجيه والوكلاء. لوكالة تدير تواصلًا مع العملاء وتريد توحيد المراسلة الداخلية والدعم في منصة واحدة، ‎Rocket.Chat‎ هو المرشح الطبيعي. لفريق تقني يبحث فحسب عن بديل لـ‎Slack‎ دون تعقيد إضافي، ‎Mattermost‎ هو المسار الأقصر.",{"type":144,"title":145,"body":146},"tip","‎SSO‎ والمصادقة: استثمروا الاستضافة الذاتية","في الاستضافة الذاتية، تتوفر ‎LDAP‎ و‎SAML 2.0‎ والمصادقة بالشهادة دون قيود خطة أو تكلفة إضافية. هيّئوا منذ البداية الاتصال بدليلكم (‎Active Directory‎ أو ‎FreeIPA‎ أو مزوّد الهوية السحابي) حتى لا يضطر مستخدموكم لإدارة حساب إضافي. فعّلوا كذلك المصادقة الثنائية (‎TOTP‎) في إعدادات الأمان — كلا المنصتين تدعمانها أصلًا. إن استخدمتم وكيل مصادقة كـ‎Authelia‎ أو ‎Authentik‎، تحققوا من أن وكيلكم العكسي يمرّر صحيحًا ترويسات `X-Forwarded-For` و`X-Real-IP` قبل فرض المصادقة الخارجية.",{"type":34,"title":148,"body":149},"استكشاف الأخطاء: أكثر المشكلات شيوعًا","أربع مشكلات تتكرر بعد تثبيت ناجح. الأولى تخص ‎MongoDB‎ مع ‎Rocket.Chat‎: إن بدأت الحاوية ثم توقفت بخطأ `MongoServerError: not master`، فـ‎replica set‎ لم يُهيَّأ بعد. اتصلوا بـ‎MongoDB shell‎ بـ`docker compose exec mongodb mongosh` ونفّذوا `rs.initiate()` مرة واحدة فقط عند الإقلاع الأول. الثانية تتعلق بـ‎WebSocket‎: إن أظهر ‎Mattermost‎ «انقطع اتصال WebSocket» باستمرار، تحققوا من أن وكيلكم العكسي يمرّر ترويسة `Upgrade` و`Connection`. مع ‎Caddy‎ يحدث ذلك تلقائيًا؛ مع ‎Nginx‎ أضيفوا `proxy_http_version 1.1` و`proxy_set_header Upgrade $http_upgrade` و`proxy_set_header Connection upgrade`. الثالثة تخص الإشعارات على الجوّال: تتصل تطبيقات ‎Mattermost‎ افتراضيًا بخدمة الإشعارات لدى ‎Mattermost Inc.‎؛ إن منعت سياسة أمانكم ذلك، ثبّتوا خادم ‎push‎ خاصًا أو عطّلوا إشعارات الجوّال. الرابعة تتعلق بـ‎SMTP‎: بريد تجريبي يصل لكن دعوات لا تصل يعني في الغالب مشكلة في ‎SPF‎ أو ‎DKIM‎. راجعوا سجلات ‎DNS‎ واختبروا الإرسال بـ`mail-tester.com` قبل ترحيل مستخدميكم.","رسائل فريقكم على بنيتكم التحتية الخاصة","مع خادم ‎VPS‎ سحابي من ‎ServOrbit‎ وخيار الإدارة المُدارة، تنشرون ‎Mattermost‎ أو ‎Rocket.Chat‎ دون التعامل مع التفاصيل التقنية. سجل غير محدود، ‎SSO‎ أصلي، بياناتكم عندكم.","استكشف عروض الوكالات","\u002Fsolutions\u002Fagences",[155,173,185],{"id":156,"slug":157,"slugs":158,"title":161,"excerpt":162,"readTime":14,"views":15,"isPinned":16,"publishedAt":163,"category":164,"categories":170,"featuredImage":25,"bgImage":26,"posterImage":172,"relatedSolution":25},228,"تصليب-الخادم-linux-الأولي",{"fr":159,"en":160,"ar":157},"durcissement-serveur-linux-initial","initial-linux-server-hardening","تصليب الخادم ‎Linux‎ الأولي","أنشئ مستخدم ‎sudo‎، وكوّن ‎SSH‎ بالمفاتيح، وفعّل ‎UFW‎ و‎fail2ban‎ على ‎Ubuntu 22.04‎ أو ‎Debian 12‎ في أقل من ساعة.","2026-08-06T00:00:00+00:00",{"id":165,"name":166,"slug":167,"color":168,"icon":169},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[171],{"id":165,"name":166,"slug":167,"color":168,"icon":169},"\u002Fblog\u002Fcovers\u002Fdurcissement-serveur-linux-initial-poster.svg",{"id":174,"slug":175,"slugs":176,"title":179,"excerpt":180,"readTime":14,"views":15,"isPinned":16,"publishedAt":163,"category":181,"categories":182,"featuredImage":25,"bgImage":26,"posterImage":184,"relatedSolution":25},227,"caddy-أم-traefik-أم-nginx-proxy-manager-أيهما-تختار",{"fr":177,"en":178,"ar":175},"choisir-reverse-proxy-vps-caddy-traefik-nginx","caddy-traefik-or-nginx-proxy-manager-which-to-choose","‏Caddy أم Traefik أم Nginx Proxy Manager: أيهما تختار؟","دليل المقارنة بين ‏Caddy و‏Traefik و‏Nginx Proxy Manager لاختيار بروكسي عكسي لـ‏Docker على خادم VPS. معايير وجدول مقارنة وتوصيات حسب الملف الشخصي.",{"id":19,"name":20,"slug":21,"color":22,"icon":21},[183],{"id":19,"name":20,"slug":21,"color":22,"icon":21},"\u002Fblog\u002Fcovers\u002Fchoisir-reverse-proxy-vps-caddy-traefik-nginx-poster.svg",{"id":186,"slug":187,"slugs":188,"title":191,"excerpt":192,"readTime":193,"views":15,"isPinned":16,"publishedAt":163,"category":194,"categories":199,"featuredImage":25,"bgImage":26,"posterImage":201,"relatedSolution":25},229,"docker-compose-في-الإنتاج-قائمة-التحقق-من-10-نقاط",{"fr":189,"en":190,"ar":187},"docker-compose-production-checklist","docker-compose-in-production-10-point-checklist","Docker Compose في الإنتاج: قائمة التحقق من 10 نقاط","‎10 إعدادات Docker Compose يجب التحقق منها قبل أي نشر إنتاجي: إعادة التشغيل والفحوص الصحية والحدود والأسرار والسجلات.",14,{"id":195,"name":196,"slug":197,"color":198,"icon":197},3,"النشر","deploiement","bg-success\u002F10 text-success",[200],{"id":195,"name":196,"slug":197,"color":198,"icon":197},"\u002Fblog\u002Fcovers\u002Fdocker-compose-production-checklist-poster.svg",1787580947537]