element-hq / synapse

Synapse: Matrix homeserver written in Python/Twisted.
https://element-hq.github.io/synapse
GNU Affero General Public License v3.0
1.53k stars 186 forks source link

Media storage provider functionality is not documented #17193

Open anoadragon453 opened 5 months ago

anoadragon453 commented 5 months ago

"Media storage providers" are external modules that can be used to store and fetch media from sources other than the local filesystem. One popular example is https://github.com/matrix-org/synapse-s3-storage-provider/, which allows you to store media on Amazon S3, and fetch it when requested.

The Synapse documentation doesn't mention this functionality at all currently, which makes it unclear to Synapse developers that it exists, and unknown to third-party developers that they can develop these things.

A media storage provider module must implement the StorageProvider class (store_file and fetch_media). Media storage providers installed into the Python environment can be configured through Synapse's config file.

dklimpel commented 4 months ago

Related to: