Solucionar un problema con el repositorio multimedia Matrix Synapse que está ocupando demasiado espacio en disco.

Un repositorio multimedia de Matrix Synapse puede consumir espacio en disco más rápido que la base de datos del servidor principal, ya que almacena diferentes tipos de archivos: contenido multimedia subido por usuarios locales, miniaturas, contenido multimedia en caché obtenido de servidores remotos y recursos utilizados para previsualizaciones de URL. La solución adecuada no es eliminar archivos al azar del directorio multimedia. Primero, identifique qué archivos están aumentando de tamaño y, a continuación, utilice la API de administración de Synapse o los controles de retención para que los metadatos de la base de datos y los archivos en disco se mantengan consistentes.

A fecha de octubre de 2026, la versión actual de Synapse es la 1.162, y la documentación oficial de gestión de medios incluye API para consultar medios, eliminar medios locales, purgar medios remotos almacenados en caché y configurar la retención automática. Si su instalación es muy antigua, consulte las versiones oficiales de Synapse , ya que el comportamiento de los puntos finales y las opciones de configuración pueden variar entre versiones.

Lista de verificación de triaje rápido

PreguntaQué comprobarMejor siguiente paso
¿Está realmente el sistema de archivos casi lleno?df -hConfirme qué sistema de archivos montado contiene el almacenamiento de medios.
¿Es Synapse Media el principal consumidor?du -sh <media_store_path>Compáralo con otros directorios grandes antes de borrar nada.
¿La caché remota es la categoría más grande?du -sh <media_store_path>/* | sort -hPrimero, elimine los archivos multimedia remotos antiguos; normalmente se pueden recuperar.
¿La categoría principal es la de contenido multimedia de usuarios locales?Listados de medios y datos de edad/tamaño de la API de administraciónAplique una política deliberada de retención de contenido en medios locales; la eliminación es permanente.
¿El crecimiento se repite?media_retentionlímites de carga, monitoreoAgregue alertas automáticas de retención y capacidad.

1. Confirme que el problema de espacio en disco reside en el repositorio de medios.

Comience con el sistema de archivos, no con Synapse. Ejecute:

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

La ruta depende de la instalación. media_store_pathLa configuración de Synapse define el directorio que se usa para las imágenes y los archivos adjuntos cargados, y su valor predeterminado documentado es media_storerelativo al directorio de datos de Synapse. Los paquetes de distribución y las implementaciones de contenedores suelen establecer una ruta explícita, así que revise su configuración real en lugar de asumir una ubicación.

Terminal de Linux que muestra un sistema de archivos raíz casi lleno y un directorio multimedia Matrix Synapse de gran tamaño.

Leyenda: Compare el uso del sistema de archivos con el tamaño del almacén de medios Synapse configurado antes de decidir que la limpieza de medios es la solución correcta.

Si el disco está casi lleno, evite ejecutar operaciones recursivas extensas que creen archivos temporales o copias de seguridad de gran tamaño en el mismo sistema de archivos. Si existe un riesgo inminente de quedarse sin espacio, primero detenga las tareas que realicen escrituras intensivas no relacionadas o añada capacidad temporal; a continuación, realice una limpieza controlada.

2. Verifique la configuración de medios activos e identifique qué está creciendo.

Abra el activo homeserver.yamly busque media_store_path. Revise también max_upload_size, cualquier media_storage_providers, y cualquier bloque existente . El manual de configuraciónmedia_retention oficial de Synapse documenta estas opciones.

Synapse homeserver.yaml mostrando la configuración de server_name, media_store_path y max_upload_size.

Leyenda: Confirme que el media_store_pathalmacenamiento esté activo antes de medir o cambiar. La ruta que se muestra aquí es un ejemplo de configuración.

A continuación, mida los subdirectorios de primer nivel:

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

La documentación del repositorio de medios de Synapse describe las categorías importantes en disco. Las cargas locales se almacenan debajo de local_content, las miniaturas locales debajo de local_thumbnails, los archivos remotos en caché debajo de remote_content, las miniaturas remotas debajo de remote_thumbnaily los datos de vista previa de URL debajo de url_cachey url_cache_thumbnails.

Terminal de Linux que muestra un desglose ordenado del tamaño de los directorios local_content, local_thumbnails, remote_content, remote_thumbnail y caché de URL de Synapse.

Leyenda: Un desglose del tamaño a nivel de directorio ayuda a distinguir la caché remota recuperable de las cargas de usuario locales que pueden ser la única copia almacenada por su servidor doméstico.

No utilice rm -rfestos directorios como método de limpieza habitual. Synapse también realiza un seguimiento de los archivos multimedia en su base de datos. Si se omiten las rutas de limpieza compatibles, es posible que queden metadatos que hagan referencia a archivos que ya no existen o que se elimine contenido que los usuarios aún esperan recuperar.

3. Recupere primero la caché de medios remotos cuando sea el consumidor principal.

El almacenamiento en caché de medios remotos suele ser la opción de menor riesgo para recuperar espacio. Synapse guarda copias de los medios alojados originalmente en otros servidores domésticos. La API oficial de eliminación de medios remotos borra los medios remotos almacenados en caché cuyo último acceso se produjo antes de una fecha y hora específicas. Si un usuario vuelve a solicitar esos medios, Synapse los solicitará nuevamente al servidor doméstico de origen.

La API de administración requiere un token de acceso de administrador del servidor. Synapse recomienda mantenerla /_synapse/admin/...oculta al acceso público y, por lo general, llamarla localmente. Consulte la guía oficial de la API de administración .

Por ejemplo, calcule un límite de 30 días en el pasado y elimine la caché remota anterior a ese período:

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"

La respuesta incluye un deletedrecuento. El límite se basa en el último acceso, no simplemente en la fecha de modificación del archivo. Elija un período que se ajuste al historial de navegación habitual de los usuarios. El contenido remoto eliminado solo se puede recuperar si el servidor de origen aún lo mantiene disponible.

4. Trate los medios locales como datos permanentes a menos que tenga una política de retención.

Los archivos multimedia locales son diferentes. Se subieron a tu servidor doméstico, por lo que eliminarlos puede dañar permanentemente archivos adjuntos, imágenes u otras referencias MXC. Antes de eliminar archivos multimedia locales de forma masiva, inspecciona los elementos representativos o los archivos multimedia de los usuarios a través de la API de administración.

Para consultar un elemento multimedia específico:

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

La respuesta puede incluir media_length, created_ts, last_access_ts, tipo MIME y estado de cuarentena. La documentación oficial de la API de administración de medios define estos campos y las operaciones de eliminación admitidas.

Terminal que muestra una consulta de medios de la API de administración de Synapse autenticada y campos JSON que incluyen media_length, created_ts y last_access_ts.

Leyenda: Consultar los metadatos de los archivos multimedia antes de aplicar las reglas de eliminación para que las decisiones sobre antigüedad y tamaño se basen en los registros de Synapse en lugar de en las marcas de tiempo del sistema de archivos.

Synapse puede eliminar archivos multimedia locales por fecha de último acceso y, opcionalmente, por tamaño:

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_tses una marca de tiempo Unix en milisegundos y se refiere al último acceso. size_gtes un umbral de bytes; su valor predeterminado es cero. keep_profiles=truees el valor predeterminado y conserva los medios que aún se utilizan como imágenes de perfil o de sala. Mantenga esa protección a menos que tenga una razón específica para eliminar esas imágenes.

También puedes listar o eliminar archivos multimedia subidos por un usuario local específico /_synapse/admin/v1/users/<user_id>/media. Esto resulta útil cuando una cuenta genera un crecimiento inusual. Consulta la documentación de la API de administración de usuarios antes de usar la función de eliminación, especialmente sus parámetros de ordenación y límite.

5. Evitar que el almacenamiento de medios vuelva a llenar el disco.

Habilitar la retención automática de medios

Para un control continuo, Synapse proporciona media_retention. Un ejemplo basado en el formato de configuración oficial es:

media_retention:
  local_media_lifetime: 180d
  remote_media_lifetime: 30d

Un archivo multimedia se puede eliminar si no se ha accedido a él durante el tiempo de vida útil configurado. Si nunca se ha accedido, Synapse utiliza su fecha de creación. Se eliminan tanto el archivo original como las miniaturas. Si se omite o se establece como nulo el tiempo de vida útil, esa categoría no se elimina automáticamente.

Elija el valor local con precaución: a diferencia de la caché remota, los archivos multimedia locales eliminados no se pueden reconstruir simplemente solicitando el original a otro servidor. Los archivos multimedia en cuarentena no se eliminan mediante la retención automática, y los archivos multimedia locales protegidos también se excluyen según la documentación de configuración.

Utilice controles de carga para el crecimiento futuro.

max_upload_sizeLimita cada carga individual; no limita el tamaño total del repositorio. La versión actual de Synapse también permite media_upload_limitslimitar la cantidad de archivos que un usuario puede subir durante periodos de tiempo definidos. Estos controles reducen el crecimiento, pero no reemplazan la retención ni la monitorización de la capacidad.

Considere un proveedor de almacenamiento cuando el sistema de archivos local sea el cuello de botella.

Synapse admite la migración media_storage_providers, incluyendo un proveedor de sistema de archivos que permite ubicar los archivos multimedia en otro directorio. Esto puede ser útil si se dispone de un volumen o nivel de almacenamiento dedicado. Se trata de un cambio en la arquitectura de almacenamiento, no de una solución de emergencia, por lo que se recomienda probar las copias de seguridad, los permisos, el acceso de los trabajadores y el comportamiento de recuperación antes de migrar los archivos multimedia de producción.

Verificación después de la limpieza

Tras cualquier purga, verifique tanto la capacidad como el comportamiento de la aplicación:

df -h
du -sh /path/to/media_store
du -sh /path/to/media_store/* 2>/dev/null | sort -h
  • Abra un archivo adjunto subido recientemente a su dispositivo en un cliente Matrix.
  • Abra un archivo adjunto remoto antiguo y confirme que se puede recuperar de nuevo.
  • Compruebe los registros de Synapse en busca de errores relacionados con el sistema de archivos o el procesador de medios.
  • Si utiliza trabajadores de medios dedicados, confirme que las solicitudes de la API de administración se enrutan a un trabajador del repositorio de medios. La documentación del trabajador de Synapse enumera los puntos finales de administración específicos de los medios que deben gestionarse allí.
  • Registre el tamaño del almacenamiento de medios después de la limpieza y compárelo nuevamente después de varios días para medir la tasa de crecimiento real.

Referencia rápida para la toma de decisiones

¿Qué es grande?Respuesta preferidaRiesgo principal
remote_content/remote_thumbnailBorre la caché remota por fecha de último acceso; luego configure remote_media_lifetime.Los archivos multimedia antiguos deberán descargarse de nuevo y podrían no estar disponibles si la fuente original ya no los ofrece.
local_content/local_thumbnailsDefina una regla de retención empresarial, inspeccione los metadatos de los medios y, a continuación, utilice las API de administración de medios locales.La eliminación es permanente para el contenido alojado en su servidor.
Caché de vista previa de URLConfirme el comportamiento de la vista previa de URL y la limpieza actual de Synapse antes de intervenir manualmente.La eliminación manual del sistema de archivos puede desincronizar los metadatos almacenados.
Todas las categorías siguen creciendoAgregar media_retentioncontroles de carga, monitoreo o almacenamiento multimedia dedicado.La limpieza por sí sola solo retrasa el próximo incidente que afecte a la capacidad del sistema.

En resumen

Cuando un repositorio de medios de Matrix Synapse llena un disco, primero hay que determinar qué tipo de medio es el responsable. La caché remota suele ser la opción más segura, ya que Synapse cuenta con una API de purga específica y normalmente puede recuperar ese contenido. Los medios locales requieren una política mucho más estricta, puesto que puede ser la única copia en el servidor de un archivo adjunto. Una vez recuperado el espacio disponible, configure media_retentiony supervise la tasa de crecimiento del almacenamiento de medios para que la limpieza se convierta en un mantenimiento predecible en lugar de una emergencia.

Dejar un comentario

Solucionar un problema con el repositorio multimedia Matrix Synapse que está ocupando demasiado espacio en disco.

Solucionar un problema con el repositorio multimedia Matrix Synapse que está ocupando demasiado espacio en disco.

Diagnosticar y reducir de forma segura el almacenamiento multimedia de Matrix Synapse, purgar la caché remota, gestionar las cargas locales y configurar la retención para evitar incidentes de disco lleno.

Solucionar la advertencia de encabezado faltante de Nextcloud Strict-Transport-Security (HSTS)

Solucionar la advertencia de encabezado faltante de Nextcloud Strict-Transport-Security (HSTS)

Solucione el problema de la advertencia HSTS faltante en Nextcloud configurando el servidor web HTTPS o el proxy inverso, y luego verifique de forma segura el encabezado Strict-Transport-Security.

Solucionar el error "CSync Unknown Error" del cliente de escritorio de ownCloud durante la sincronización.

Solucionar el error "CSync Unknown Error" del cliente de escritorio de ownCloud durante la sincronización.

Solucione el error "CSync Unknown Error" del cliente de escritorio de ownCloud reconstruyendo la base de datos de sincronización oculta y, a continuación, verifique la conectividad, los permisos, los nombres de archivo, el espacio en disco y los registros.

Cómo configurar la sincronización deslizante de matriz para una carga móvil más rápida (sin el proxy heredado)

Cómo configurar la sincronización deslizante de matriz para una carga móvil más rápida (sin el proxy heredado)

El proxy Matrix Sliding Sync está archivado y reemplazado. Habilite la sincronización deslizante simplificada nativa en Synapse, verifique la compatibilidad del cliente, actualice el enrutamiento del proxy y pruebe la sincronización móvil de forma segura.

Solucionar el retraso en la federación de sinapsis de Matrix y la lentitud al unirse a salas

Solucionar el retraso en la federación de sinapsis de Matrix y la lentitud al unirse a salas

Diagnostique la lentitud en la federación de Matrix Synapse y en las uniones a salas comprobando la conectividad, el estado de reintento del servidor remoto, las métricas, la carga de la base de datos y los límites de velocidad de unión.

Cómo limpiar automáticamente la papelera de Nextcloud donde se han eliminado archivos.

Cómo limpiar automáticamente la papelera de Nextcloud donde se han eliminado archivos.

Configure la retención de la papelera de Nextcloud y las tareas en segundo plano para eliminar automáticamente los archivos borrados, verificar la limpieza y evitar comandos de purga inseguros para todos los usuarios.

Soluciona el eco y el retardo de audio del micrófono BigBlueButton en WebRTC.

Soluciona el eco y el retardo de audio del micrófono BigBlueButton en WebRTC.

Diagnostica el eco de BigBlueButton y el retardo de audio de WebRTC separando la retroalimentación del micrófono del retardo de la red, comprobando la prueba de eco, los dispositivos del navegador, la conectividad UDP y la carga del servidor.

Cómo realizar copias de seguridad de Nextcloud con Restic y Cron

Cómo realizar copias de seguridad de Nextcloud con Restic y Cron

Configura un repositorio Restic cifrado y una tarea programada (cron job) para Nextcloud, incluyendo el modo de mantenimiento, una copia de seguridad de MariaDB, retención, registros y comprobaciones de restauración.

Solucionar el problema de ownCloud que se congela al subir archivos al 99%: Guía práctica de solución de problemas

Solucionar el problema de ownCloud que se congela al subir archivos al 99%: Guía práctica de solución de problemas

Solucione los problemas de cargas de ownCloud que se quedan atascadas en el 99 % revisando los registros, el almacenamiento temporal, el espacio de fragmentos, los límites de PHP, las sesiones, los proxies y el bloqueo de archivos en el orden correcto.

Cómo configurar la autenticación de dos factores (2FA) en la consola de administración de Zimbra

Cómo configurar la autenticación de dos factores (2FA) en la consola de administración de Zimbra

Habilite y aplique correctamente la autenticación de dos factores (2FA) de Zimbra, registre una cuenta de administrador, elija la verificación por TOTP o correo electrónico y pruebe el inicio de sesión en la consola de administración.