Fix a Matrix Synapse Media Repository That Is Filling Up Disk Space

A Matrix Synapse media repository can consume disk space faster than the homeserver database because it holds several different classes of files: media uploaded by local users, thumbnails, cached media fetched from remote homeservers, and resources used for URL previews. The right fix is not to delete random files from the media directory. First identify what is growing, then use Synapse's Admin API or retention controls so the database metadata and on-disk files stay consistent.

As of October 2026, the current Synapse release line is 1.162, and the official media-management documentation includes APIs for querying media, deleting local media, purging cached remote media, and configuring automatic retention. Check the official Synapse releases if your installation is significantly older, because endpoint behavior and configuration options can differ across releases.

Quick Triage Checklist

QuestionWhat to checkBest next action
Is the filesystem actually close to full?df -hConfirm which mounted filesystem contains the media store.
Is Synapse media the main consumer?du -sh <media_store_path>Compare it with other large directories before deleting anything.
Is remote cache the largest category?du -sh <media_store_path>/* | sort -hPurge old remote media first; it can normally be fetched again.
Is local user media the main category?Admin API media listings and age/size dataApply a deliberate local-media retention policy; deletion is permanent.
Does growth keep returning?media_retention, upload limits, monitoringAdd automatic retention and capacity alerts.

1. Confirm That the Media Repository Is the Disk-Space Problem

Start with the filesystem, not with Synapse. Run:

df -h
du -sh /path/to/media_store

The path is installation-specific. Synapse's media_store_path setting defines the directory used for uploaded images and attachments, and its documented default is media_store relative to Synapse's data directory. Distribution packages and container deployments often set an explicit path, so inspect your actual configuration rather than assuming a location.

طرفية لينكس تعرض نظام ملفات جذر شبه ممتلئ ودليل وسائط Matrix Synapse كبير

Caption: Compare filesystem usage with the size of the configured Synapse media store before deciding that media cleanup is the correct fix.

If the disk is nearly full, avoid running broad recursive operations that create large temporary files or backups on the same filesystem. If you are at immediate risk of running out of space, first stop unrelated write-heavy jobs or add temporary capacity, then perform cleanup in a controlled way.

2. Verify the Active Media Configuration and Identify What Is Growing

Open the active homeserver.yaml and find media_store_path. Also review max_upload_size, any media_storage_providers, and any existing media_retention block. The official Synapse configuration manual documents these options.

ملف Synapse homeserver.yaml يعرض إعدادات server_name و media_store_path و max_upload_size

شرح الصورة: تأكد من تفعيل الجهاز media_store_pathقبل قياس أو تغيير وحدة تخزين الوسائط. المسار الموضح هنا هو مثال على التكوين.

بعد ذلك، قم بقياس الدلائل الفرعية من المستوى الأول:

du -sh /path/to/media_store/* 2>/dev/null | sort -h

توضح وثائق مستودع الوسائط في Synapse الفئات المهمة الموجودة على القرص. يتم تخزين التحميلات المحلية أدناه local_content، والصور المصغرة المحلية أدناه local_thumbnails، والملفات البعيدة المخزنة مؤقتًا أدناه remote_content، والصور المصغرة البعيدة أدناه remote_thumbnail، وبيانات معاينة عنوان URL أدناه url_cacheو url_cache_thumbnails.

طرفية لينكس تعرض تفصيلاً مُرتباً حسب الحجم لمجلدات Synapse local_content و local_thumbnails و remote_content و remote_thumbnail و URL cache

التعليق: يساعد تحليل حجم الملفات على مستوى الدليل في التمييز بين ذاكرة التخزين المؤقت البعيدة القابلة للاسترداد وعمليات تحميل المستخدم المحلي التي قد تكون النسخة الوحيدة المخزنة بواسطة خادمك المنزلي.

لا تستخدم rm -rfهذه المسارات كطريقة تنظيف عادية. يتتبع برنامج Synapse الوسائط في قاعدة بياناته. قد يؤدي تجاوز مسارات التنظيف المدعومة إلى ترك بيانات وصفية تشير إلى ملفات لم تعد موجودة، أو إزالة محتوى يتوقع المستخدمون استرجاعه.

3. استعادة ذاكرة التخزين المؤقت للوسائط البعيدة أولاً عندما تكون هي المستهلك الرئيسي

تُعدّ الوسائط البعيدة المخزنة مؤقتًا عادةً أقل الأماكن خطورةً لاستعادة المساحة. يخزن Synapse نسخًا من الوسائط التي استضافتها في الأصل خوادم منزلية أخرى. تقوم واجهة برمجة تطبيقات Purge Remote Media API الرسمية بإزالة الوسائط البعيدة المخزنة مؤقتًا التي تم الوصول إليها آخر مرة قبل تاريخ محدد. إذا طلب المستخدم تلك الوسائط مرة أخرى، فسيطلبها Synapse مجددًا من الخادم المنزلي الأصلي.

تتطلب واجهة برمجة تطبيقات الإدارة رمز وصول خاص بمسؤول الخادم. توصي Synapse بإخفائها /_synapse/admin/...عن الوصول العام واستخدامها محليًا بشكل طبيعي. راجع دليل واجهة برمجة تطبيقات الإدارة الرسمي .

على سبيل المثال، احسب حدًا زمنيًا قبل 30 يومًا وقم بمسح ذاكرة التخزين المؤقت البعيدة الأقدم من ذلك:

export SYNAPSE_ADMIN_TOKEN='your-admin-token'
CUTOFF_MS=$(( $(date -d '30 days ago' +%s) * 1000 ))

curl -sS -X POST   -H "Authorization: Bearer $SYNAPSE_ADMIN_TOKEN"   "http://127.0.0.1:8008/_synapse/admin/v1/purge_media_cache?before_ts=$CUTOFF_MS"

يتضمن الرد deletedعدادًا. يعتمد الحد الزمني على آخر وصول، وليس فقط على وقت تعديل الملف. اختر فترة زمنية تتناسب مع مدى تصفح المستخدمين للملفات القديمة. لا يمكن استعادة المحتوى البعيد المحذوف إلا إذا كان الخادم الأصلي لا يزال يوفره.

4. تعامل مع الوسائط المحلية كبيانات دائمة ما لم تكن لديك سياسة للاحتفاظ بها

تختلف الوسائط المحلية. فقد تم تحميلها إلى خادمك المنزلي، لذا فإن حذفها قد يؤدي إلى تلف المرفقات أو الصور أو أي مراجع أخرى متعلقة بملفات MXC بشكل دائم. قبل حذف الوسائط المحلية دفعة واحدة، يُرجى معاينة العناصر التمثيلية أو وسائط المستخدم من خلال واجهة برمجة تطبيقات الإدارة.

للاستعلام عن عنصر إعلامي معين:

curl -sS   -H "Authorization: Bearer $SYNAPSE_ADMIN_TOKEN"   "http://127.0.0.1:8008/_synapse/admin/v1/media/example.org/MEDIA_ID"

قد تتضمن الاستجابة معلومات مثل media_lengthنوع MIME وحالة الحجر الصحي. يُحدد دليل واجهة برمجة تطبيقات إدارة الوسائط الرسمي هذه الحقول وعمليات الحذف المدعومة.created_tslast_access_ts

يعرض الطرفية استعلام وسائط Synapse Admin API مصادق عليه وحقول JSON بما في ذلك media_length و created_ts و last_access_ts

التعليق: استعلم عن بيانات الوسائط الوصفية قبل تطبيق قواعد الحذف بحيث تستند قرارات العمر والحجم إلى سجلات Synapse بدلاً من الطوابع الزمنية لنظام الملفات.

يمكن لبرنامج Synapse حذف الوسائط المحلية حسب تاريخ آخر وصول، ويمكن حذفها أيضاً حسب الحجم:

CUTOFF_MS=$(( $(date -d '180 days ago' +%s) * 1000 ))

curl -sS -X POST   -H "Authorization: Bearer $SYNAPSE_ADMIN_TOKEN"   "http://127.0.0.1:8008/_synapse/admin/v1/media/delete?before_ts=$CUTOFF_MS&size_gt=0&keep_profiles=true"

before_tsهو طابع زمني يونكس بالمللي ثانية ويشير إلى آخر وصول. size_gtهو حد بايت؛ قيمته الافتراضية صفر. keep_profiles=trueهو الإعداد الافتراضي ويحافظ على الوسائط التي لا تزال تُستخدم كصور شخصية أو صور غرف. احتفظ بهذه الحماية ما لم يكن لديك سبب محدد لإزالة تلك الصور.

يمكنك أيضًا عرض أو حذف الوسائط التي حمّلها مستخدم محلي محدد /_synapse/admin/v1/users/<user_id>/media. يُفيد هذا الأمر عندما يكون حساب واحد مسؤولاً عن نمو غير معتاد. راجع وثائق واجهة برمجة تطبيقات إدارة المستخدمين قبل استخدام عملية الحذف، وخاصةً معلمات الترتيب والحد.

5. منع متجر الوسائط من ملء القرص مرة أخرى

تفعيل الاحتفاظ التلقائي بالوسائط

يوفر برنامج Synapse ميزة التحكم المستمر media_retention. مثال على ذلك، بناءً على تنسيق التكوين الرسمي:

media_retention:
  local_media_lifetime: 180d
  remote_media_lifetime: 30d

تُصبح الوسائط قابلةً للحذف عندما لا يتم الوصول إليها خلال فترة صلاحيتها المحددة. إذا لم يتم الوصول إليها مطلقًا، يستخدم Synapse وقت إنشائها. تُحذف كل من النسخة الأصلية والصور المصغرة. إذا تم حذف فترة صلاحية أي منهما أو تعيينها إلى قيمة فارغة، فلن يتم حذف تلك الفئة تلقائيًا.

اختر القيمة المحلية بحذر: على عكس ذاكرة التخزين المؤقت البعيدة، لا يمكن استعادة الوسائط المحلية المحذوفة بمجرد طلب النسخة الأصلية من خادم منزلي آخر. لا تُحذف الوسائط المعزولة تلقائيًا، كما تُستثنى الوسائط المحلية المحمية وفقًا لوثائق التكوين.

استخدم أدوات التحكم في التحميل لتحقيق النمو المستقبلي

max_upload_sizeيُقيّد النظام كل عملية تحميل على حدة، ولكنه لا يفرض حدًا أقصى لحجم المستودع الإجمالي. كما يدعم برنامج Synapse الحالي media_upload_limitsتحديد حجم البيانات التي يُمكن للمستخدم تحميلها خلال فترات زمنية مُحددة. تُقلل هذه الضوابط من نمو المستودع، ولكنها لا تُغني عن مراقبة الاحتفاظ بالبيانات أو سعة التخزين.

ضع في اعتبارك الاستعانة بمزود خدمة تخزين عندما يكون نظام الملفات المحلي هو عنق الزجاجة

يدعم Synapse ميزة media_storage_providersنقل الوسائط إلى مجلد آخر، بما في ذلك موفر نظام ملفات يسمح بذلك. يُفيد هذا عند وجود وحدة تخزين أو طبقة تخزين مخصصة. يُعد هذا تغييرًا في بنية التخزين، وليس إجراءً طارئًا للتنظيف، لذا يُنصح باختبار النسخ الاحتياطية، والأذونات، ووصول العاملين، وسلوك الاسترداد قبل نقل وسائط الإنتاج.

التحقق بعد التنظيف

بعد أي عملية تنظيف، تحقق من كل من السعة وسلوك التطبيق:

df -h
du -sh /path/to/media_store
du -sh /path/to/media_store/* 2>/dev/null | sort -h
  • افتح مرفقًا تم تحميله محليًا مؤخرًا في برنامج Matrix.
  • افتح مرفقًا عن بُعد قديمًا وتأكد من إمكانية جلبه مرة أخرى.
  • تحقق من سجلات Synapse بحثًا عن أخطاء في media-worker أو نظام الملفات.
  • إذا كنت تستخدم عمال وسائط مخصصين، فتأكد من توجيه طلبات واجهة برمجة تطبيقات الإدارة إلى عامل مستودع الوسائط. توضح وثائق عامل Synapse نقاط نهاية الإدارة الخاصة بالوسائط التي يجب معالجتها هناك.
  • سجل حجم متجر الوسائط بعد التنظيف وقارنه مرة أخرى بعد عدة أيام لقياس معدل النمو الفعلي.

مرجع سريع للقرارات

ما هو الشيء الكبير؟الاستجابة المفضلةالخطر الرئيسي
remote_content/remote_thumbnailقم بمسح ذاكرة التخزين المؤقت البعيدة حسب آخر وقت وصول؛ ثم قم بتعيينها remote_media_lifetime.يجب إعادة تنزيل الوسائط القديمة وقد لا تكون متاحة إذا لم يعد المصدر يقدمها.
local_content/local_thumbnailsحدد قاعدة الاحتفاظ الخاصة بالأعمال، وافحص بيانات الوسائط الوصفية، ثم استخدم واجهات برمجة تطبيقات إدارة الوسائط المحلية.يُعدّ حذف المحتوى المُستضاف على خادمك نهائياً.
ذاكرة التخزين المؤقت لمعاينة عنوان URLتأكد من سلوك معاينة عنوان URL وعملية تنظيف Synapse الحالية قبل التدخل يدويًا.قد يؤدي حذف الملفات يدويًا من نظام الملفات إلى عدم تزامن البيانات الوصفية المخزنة.
جميع الفئات تستمر في النموأضف media_retentionعناصر تحكم التحميل، أو المراقبة، أو مساحة تخزين وسائط مخصصة.إن عملية التنظيف وحدها لا تؤدي إلا إلى تأخير حادثة الطاقة الاستيعابية التالية.

الخلاصة

عندما يمتلئ القرص بمستودع وسائط Matrix Synapse، حدد أولاً نوع الوسائط المسؤول. عادةً ما تكون ذاكرة التخزين المؤقت البعيدة هي الخيار الأمثل في البداية، لأن Synapse يمتلك واجهة برمجة تطبيقات مخصصة للتنظيف، ويمكنه عادةً استعادة المحتوى مرة أخرى. أما الوسائط المحلية، فتحتاج إلى سياسة أكثر صرامة، لأنها قد تكون النسخة الوحيدة من المرفق على الخادم. بمجرد استعادة المساحة المطلوبة، قم بضبط media_retentionومراقبة معدل نمو مخزن الوسائط، بحيث يصبح التنظيف عملية صيانة دورية وليست طارئة.

اترك تعليقاً

أفضل 10 أدوات مسح Ping للعثور على الأجهزة على شبكتك

أفضل 10 أدوات مسح Ping للعثور على الأجهزة على شبكتك

قارن بين 10 أدوات مسح الشبكة المحلية (Ping) لاكتشاف الشبكات المحلية بسرعة، وإجراء مسح شامل للأنظمة الأساسية المختلفة، وإدارة عناوين IP. تعرّف على ما يمكن أن يكشفه لك المسح وما لا يمكنه كشفه.

أفضل 6 أدوات لإدارة الشبكة لتتبع الأداء

أفضل 6 أدوات لإدارة الشبكة لتتبع الأداء

قارن بين ست أدوات لإدارة الشبكة لمراقبة الأداء، بما في ذلك تغطية SNMP، ورسم الخرائط، والتنبيهات، ونماذج النشر، والمفاضلات المتعلقة بالتكلفة.

أفضل برامج تحليل شبكة الواي فاي لأنظمة ويندوز، وiOS، وأندرويد

أفضل برامج تحليل شبكة الواي فاي لأنظمة ويندوز، وiOS، وأندرويد

قارن بين أفضل برامج تحليل شبكة Wi-Fi لأنظمة Windows و iPhone و Android، بما في ذلك أدوات ازدحام القنوات وتغطية الإشارة والخرائط الحرارية واستكشاف أخطاء الشبكة وإصلاحها.

مراقبة الاتصال: 7 أدوات مجانية ومفتوحة المصدر لمراقبة توافر الشبكة

مراقبة الاتصال: 7 أدوات مجانية ومفتوحة المصدر لمراقبة توافر الشبكة

قارن بين سبعة برامج مراقبة زمن الاستجابة المجانية والمفتوحة المصدر، بدءًا من مجموعات الشبكة الكاملة وحتى مجسات زمن الاستجابة المركزة، واختر البرنامج المناسب من حيث التوافر وفقدان الحزم والسجل.

جودة الخدمة في الشبكات: ما هي جودة الخدمة وكيف تعمل

جودة الخدمة في الشبكات: ما هي جودة الخدمة وكيف تعمل

تعرف على معنى جودة الخدمة في الشبكات، وكيف تحدد علامات DSCP وقوائم انتظار حركة المرور أولويات تطبيقات الصوت والفيديو والأعمال، وما لا تستطيع جودة الخدمة إصلاحه.

أفضل الممارسات لمراقبة الشبكات: ما الذي يجب تتبعه وما هي الأدوات التي يجب استخدامها

أفضل الممارسات لمراقبة الشبكات: ما الذي يجب تتبعه وما هي الأدوات التي يجب استخدامها

قم ببناء نظام مراقبة شبكة عملي مع تغطية واضحة للأجهزة، ومقاييس أداء مفيدة، وتنبيهات قابلة للتنفيذ، ومقارنة بين SolarWinds NPM وPRTG وOpManager.

أفضل برامج خادم SFTP لنقل الملفات بشكل آمن

أفضل برامج خادم SFTP لنقل الملفات بشكل آمن

قارن بين برامج خوادم SFTP الموثوقة لأنظمة ويندوز ولينكس، بما في ذلك OpenSSH وBitvise وSolarWinds وSFTPGo. اعثر على الخيار الأمثل الذي يلبي احتياجاتك الأمنية واحتياجات نقل الملفات.

أفضل 7 أدوات لإدارة عناوين IP لفرق الشبكات

أفضل 7 أدوات لإدارة عناوين IP لفرق الشبكات

قارن بين سبع أدوات لإدارة عناوين IP لاكتشاف الشبكات الفرعية، وتنسيق DNS وDHCP، وجرد الشبكة، وIPAM مفتوح المصدر.

أفضل 10 أدوات لفحص الشبكات لاكتشاف الأجهزة وعناوين IP

أفضل 10 أدوات لفحص الشبكات لاكتشاف الأجهزة وعناوين IP

قارن بين أدوات فحص الشبكة لاكتشاف الأجهزة بسرعة، وعمليات فحص IP عبر الأنظمة الأساسية، وإدارة عناوين IP للمؤسسات، مع إرشادات حول مطابقة كل خيار مع شبكتك.

كيفية استخدام Nmap لتتبع المسار وقراءة مسار الشبكة

كيفية استخدام Nmap لتتبع المسار وقراءة مسار الشبكة

استخدم خيار --traceroute في Nmap لرسم خرائط القفزات إلى مضيف مصرح به، وفهم مخرجات القفزة وRTT، واستكشاف الأخطاء وإصلاحها في الاستجابات المفقودة دون الإفراط في المسح.