Un dépôt multimédia Matrix Synapse peut consommer de l'espace disque plus rapidement que la base de données du serveur d'accueil, car il contient plusieurs types de fichiers : des médias téléchargés par les utilisateurs locaux, des vignettes, des médias mis en cache et récupérés depuis des serveurs d'accueil distants, ainsi que des ressources utilisées pour les aperçus d'URL. La solution appropriée n'est pas de supprimer des fichiers au hasard du répertoire multimédia. Il convient d'abord d'identifier les fichiers qui augmentent rapidement, puis d'utiliser l'API d'administration de Synapse ou les paramètres de rétention afin de garantir la cohérence entre les métadonnées de la base de données et les fichiers sur le disque.
En octobre 2026, la version actuelle de Synapse était la 1.162. La documentation officielle de gestion des médias inclut des API permettant d'interroger les médias, de supprimer les médias locaux, de purger le cache des médias distants et de configurer la conservation automatique. Si votre installation est plus ancienne, consultez les versions officielles de Synapse , car le comportement des points de terminaison et les options de configuration peuvent varier d'une version à l'autre.
Liste de contrôle de triage rapide
| Question | Que vérifier | Meilleure prochaine action |
| Le système de fichiers est-il réellement proche de la saturation ? | df -h | Confirmez quel système de fichiers monté contient le stockage multimédia. |
| Synapse Media est-il le principal consommateur ? | du -sh <media_store_path> | Comparez-le avec d'autres répertoires volumineux avant de supprimer quoi que ce soit. |
| Le cache distant est-il la catégorie la plus importante ? | du -sh <media_store_path>/* | sort -h | Commencez par supprimer les anciens supports de stockage distants ; ils peuvent généralement être récupérés à nouveau. |
| Les médias locaux utilisés par les utilisateurs constituent-ils la catégorie principale ? | Listes de médias et données d'âge/taille de l'API d'administration | Appliquer une politique de conservation des médias locaux délibérée ; la suppression est définitive. |
| La croissance se maintient-elle ? | media_retention, limites de téléchargement, surveillance | Ajouter des alertes automatiques de rétention et de capacité. |
1. Confirmez que le problème d'espace disque provient bien du dépôt multimédia.
Commencez par le système de fichiers, pas par Synapse. Exécutez :
df -h
du -sh /path/to/media_store
Le chemin d'accès dépend de l'installation. media_store_pathDans les paramètres de Synapse, le répertoire utilisé pour les images et pièces jointes est défini, et sa valeur par défaut, documentée, est media_storerelative au répertoire de données de Synapse. Les paquets de distribution et les déploiements de conteneurs spécifient souvent un chemin d'accès explicite ; il est donc conseillé de vérifier votre configuration réelle plutôt que de supposer un emplacement.
Légende : Comparez l’utilisation du système de fichiers avec la taille du stockage multimédia Synapse configuré avant de conclure que le nettoyage des médias est la solution appropriée.
Si le disque est presque plein, évitez les opérations récursives importantes qui créent des fichiers temporaires volumineux ou des sauvegardes sur le même système de fichiers. En cas de risque imminent de saturation de l'espace disque, commencez par interrompre les opérations d'écriture intensives non liées ou ajoutez temporairement de l'espace, puis effectuez un nettoyage progressif.
2. Vérifiez la configuration des supports actifs et identifiez ce qui se développe.
Ouvrez le fichier actif homeserver.yamlet recherchez-y les éléments suivants : [insérer les éléments ici media_store_path]. Consultez également les max_upload_sizeéléments [insérer les éléments ici] media_storage_providers, ainsi que tout bloc existant media_retention. Le manuel de configuration officiel de Synapse documente ces options.
Légende : Vérifiez la configuration active media_store_pathavant de mesurer ou de modifier le support de stockage. Le chemin indiqué ici est un exemple de configuration.
Ensuite, mesurez les sous-répertoires de premier niveau :
du -sh /path/to/media_store/* 2>/dev/null | sort -h
La documentation du dépôt multimédia de Synapse décrit les principales catégories de fichiers stockés sur disque. Les fichiers téléchargés localement sont stockés ci-dessous local_content, les vignettes locales ci-dessous local_thumbnails, les fichiers distants mis en cache ci-dessous remote_content, les vignettes distantes ci-dessous et remote_thumbnailles données d'aperçu URL ci-dessous .url_cacheurl_cache_thumbnails
Légende : Une ventilation de la taille au niveau du répertoire permet de distinguer le cache distant récupérable des téléchargements locaux de l’utilisateur qui peuvent être la seule copie stockée par votre serveur domestique.
N’utilisez pas rm -rfces répertoires comme méthode de nettoyage habituelle. Synapse conserve également des données multimédias dans sa base de données. Ignorer les chemins de nettoyage autorisés peut laisser des métadonnées faisant référence à des fichiers inexistants ou supprimer du contenu que les utilisateurs s’attendent encore à récupérer.
3. Récupérez d'abord le cache multimédia distant lorsqu'il est le principal consommateur
Le stockage des médias distants mis en cache est généralement l'endroit le moins risqué pour récupérer de l'espace. Synapse conserve des copies des médias hébergés initialement par d'autres serveurs. L'API officielle de purge des médias distants supprime les médias distants mis en cache dont le dernier accès date d'avant une certaine date. Si un utilisateur demande à nouveau ce média, Synapse le demandera de nouveau au serveur d'origine.
L'API d'administration requiert un jeton d'accès administrateur serveur. Synapse recommande de la /_synapse/admin/...masquer et de l'utiliser en local. Consultez la documentation officielle de l'API d'administration .
Par exemple, calculez une limite de 30 jours dans le passé et purgez le cache distant plus ancien que cela :
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 réponse inclut un deletedcompteur. La limite est basée sur la dernière consultation, et non sur la date de modification du fichier. Choisissez une période correspondant à la durée de consultation habituelle des utilisateurs. Le contenu distant supprimé ne peut être récupéré que si le serveur d'origine le rend toujours accessible.
4. Traitez les médias locaux comme des données permanentes, sauf si vous avez une politique de conservation.
Les fichiers multimédias locaux sont différents. Ils ont été téléchargés sur votre serveur personnel ; leur suppression peut donc corrompre définitivement les pièces jointes, les images ou d’autres références MXC. Avant de supprimer plusieurs fichiers multimédias locaux, examinez des éléments représentatifs ou les fichiers multimédias des utilisateurs via l’API d’administration.
Pour interroger un élément multimédia particulier :
curl -sS -H "Authorization: Bearer $SYNAPSE_ADMIN_TOKEN" "http://127.0.0.1:8008/_synapse/admin/v1/media/example.org/MEDIA_ID"
La réponse peut inclure media_lengthle type MIME, le statut de quarantaine et l'adresse IP. La documentation officielle created_tsde l'API Media Admin définit ces champs et les opérations de suppression prises en charge.last_access_ts
Légende : Consultez les métadonnées des fichiers multimédias avant d’appliquer les règles de suppression afin que les décisions relatives à l’âge et à la taille soient basées sur les enregistrements de Synapse plutôt que sur les horodatages du système de fichiers.
Synapse peut supprimer les fichiers multimédias locaux en fonction de leur date de dernier accès et, en option, de leur taille :
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_tsest un horodatage Unix en millisecondes et fait référence au dernier accès. size_gtest un seuil d'octets ; sa valeur par défaut est zéro. keep_profiles=trueest la valeur par défaut et conserve les médias encore utilisés comme images de profil ou de salle. Conservez cette protection sauf si vous avez une raison spécifique de supprimer ces images.
Vous pouvez également lister ou supprimer les fichiers multimédias téléchargés par un utilisateur local spécifique /_synapse/admin/v1/users/<user_id>/media. Cette fonctionnalité est utile lorsqu'un compte est à l'origine d'une augmentation inhabituelle du nombre de fichiers. Consultez la documentation de l'API d'administration des utilisateurs avant d'utiliser la fonction de suppression, notamment ses paramètres d'ordre et de limite.
5. Empêcher le stockage multimédia de remplir à nouveau le disque
Activer la conservation automatique des médias
Pour un contrôle continu, Synapse fournit media_retention… Voici un exemple basé sur le format de configuration officiel :
media_retention:
local_media_lifetime: 180d
remote_media_lifetime: 30d
Un média peut être supprimé s'il n'a pas été consulté pendant la durée de vie configurée. S'il n'a jamais été consulté, Synapse utilise sa date de création. Le fichier original et ses miniatures sont alors supprimés. Si la durée de vie est omise ou définie sur null, la catégorie correspondante n'est pas purgée automatiquement.
Choisissez la valeur locale avec précaution : contrairement au cache distant, les fichiers multimédias locaux supprimés ne peuvent pas être reconstitués en interrogeant simplement un autre serveur. Les fichiers mis en quarantaine ne sont pas supprimés par la conservation automatique, et les fichiers multimédias locaux protégés sont également exclus, conformément à la documentation de configuration.
Utilisez les commandes de téléchargement pour la croissance future
max_upload_sizeCette limitation s'applique à chaque chargement individuel, mais pas à la taille totale du dépôt. La version actuelle de Synapse permet également media_upload_limitsde limiter la quantité de données qu'un utilisateur peut charger pendant des périodes définies. Ces contrôles réduisent la croissance, mais ne remplacent pas la surveillance de la rétention ni celle de la capacité.
Envisagez un fournisseur de stockage lorsque le système de fichiers local constitue le goulot d'étranglement.
Synapse prend en charge cette fonctionnalité media_storage_providers, notamment un fournisseur de système de fichiers permettant de placer les médias dans un autre répertoire. Cela peut s'avérer utile si vous disposez d'un volume ou d'un niveau de stockage dédié. Il s'agit d'une modification de l'architecture de stockage, et non d'une commande de nettoyage d'urgence ; il est donc impératif de tester les sauvegardes, les permissions, l'accès des nœuds de calcul et le comportement de récupération avant de migrer les médias de production.
Vérification après nettoyage
Après toute purge, vérifiez à la fois la capacité et le comportement de l'application :
df -h
du -sh /path/to/media_store
du -sh /path/to/media_store/* 2>/dev/null | sort -h
- Ouvrez une pièce jointe récemment téléchargée localement dans un client Matrix.
- Ouvrez une ancienne pièce jointe distante et vérifiez qu'elle peut être récupérée à nouveau.
- Consultez les journaux de Synapse pour détecter les erreurs liées au processus multimédia ou au système de fichiers.
- Si vous utilisez des workers dédiés aux médias, vérifiez que les requêtes de l'API d'administration sont bien acheminées vers un worker de dépôt multimédia. La documentation des workers de Synapse répertorie les points de terminaison d'administration spécifiques aux médias qui doivent y être gérés.
- Enregistrez la taille du stockage multimédia après le nettoyage et comparez-la à nouveau après quelques jours afin de mesurer le taux de croissance réel.
Référence de décision rapide
| Qu'est-ce qui est grand ? | Réponse préférée | Risque principal |
remote_content/remote_thumbnail | Purgez le cache distant en fonction de la date de dernière connexion ; puis définissez remote_media_lifetime. | Les anciens contenus multimédias doivent être retéléchargés et peuvent ne plus être disponibles si leur source ne les propose plus. |
local_content/local_thumbnails | Définissez une règle de conservation des données métier, examinez les métadonnées des médias, puis utilisez les API d'administration des médias locaux. | La suppression est définitive pour le contenu hébergé sur votre serveur. |
| cache d'aperçu d'URL | Vérifiez le comportement de l'aperçu des URL et le nettoyage actuel de Synapse avant d'intervenir manuellement. | La suppression manuelle du système de fichiers peut désynchroniser les métadonnées stockées. |
| Toutes les catégories continuent de croître | Ajoutez media_retentiondes commandes de téléchargement, de surveillance ou un stockage multimédia dédié. | Le nettoyage à lui seul ne fait que retarder le prochain incident de surcharge. |
En résumé
Lorsqu'un dépôt multimédia Matrix Synapse sature l'espace disque, commencez par identifier la catégorie de média responsable. Le cache distant est généralement la cible prioritaire la plus sûre, car Synapse dispose d'une API de purge dédiée et peut normalement récupérer le contenu. Les médias locaux nécessitent une politique beaucoup plus stricte, car il peut s'agir de la seule copie côté serveur d'une pièce jointe. Une fois l'espace immédiatement récupéré, configurez media_retentionet surveillez le taux de croissance du stockage multimédia afin que le nettoyage devienne une opération de maintenance prévisible plutôt qu'une situation d'urgence.