Synapse implementation-specific details for the media repository
The media repository is where attachments and avatar photos are stored. It stores attachment content and thumbnails for media uploaded by local users. It caches attachment content and thumbnails for media uploaded by remote users.
Each item of media is assigned a
media_id when it is uploaded.
media_id is a randomly chosen, URL safe 24 character string.
Metadata such as the MIME type, upload time and length are stored in the
sqlite3 database indexed by
Content is stored on the filesystem under a
Thumbnails are stored under a
The item with
"aabbccccccccdddddddddddd" is stored under
"local_content/aa/bb/ccccccccdddddddddddd". Its thumbnail with width
128 and height
96 and type
"image/jpeg" is stored under
Remote content is cached under
"remote_content" directory. Each item of
remote content is assigned a local
"filesystem_id" to ensure that the
is appropriate. Thumbnails for remote content are stored under