fshy

fshy / Storage

Self-hosted Synapse media repository

matrix-org.github.io · Storage · 1 record · JSON

Self-hosted Synapse media repository Storage

fails: egressinstitutionno cardR

matrix-org.github.io/synapse/latest/usage/configuration/conf · messaging · storage/self-hosted-synapse-media-repository · JSON · compare

Free tierUnbounded — max_upload_size defaults to 50M and can be set to any value; storage and media retention are entirely operator-controlled.
unit mixed; metered on stored-bytes
Pricenone stated
Per-object capnot stated
Retentionnot stated
EgressYour own server's bandwidth. Fits the 500 GB/day job if you front it with a free CDN (Cloudflare caches media aggressively if you allow it).
Identityinstitution derived from the record's prose, not from an identity field, and no signup was executed: — enabling media_retention turns the repo into a TTL cache. Federation media cache is the first thing purged. Not a free provider — the multiplier angle is that media is content-addressed an
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaces3, rest, webdav, rclone rest
ToolingSynapse (Python) or Dendrite/Conduit; standard Matrix media API so rclone's s3/webdav-adjacent tooling plus any Matrix SDK works. Admin media API allows listing and purging media per user/room.
Composes withNot a free provider — the multiplier angle is that media is content-addressed and deduplicated by Synapse, and federation lets you push copies to other homeservers as a second replica.
ReliabilityDefault installs are safe; the risk is operator misconfiguration — enabling media_retention turns the repo into a TTL cache. Federation media cache is the first thing purged.
NotesUnbounded — max_upload_size defaults to 50M and can be set to any value; storage and media retention are entirely operator-controlled.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (2)
datesourcewhat it proved
2026-10-21matrix-org.github.io/synapse/latest/usage/configuration/conf'max_upload_size — The largest allowed upload size in bytes... Defaults to 50M.'
2026-10-21matrix-org.github.io/synapse/latest/usage/configuration/conf'media_retention ... control whether media will be purged if it has not been accessed in a given amount of time'
More fields (1)
{
 "dead_end": {
  "failure_class": "retention",
  "why": "Unbounded — `max_upload_size` defaults to 50M and can be set to any value; storage and media retention are entirely operator-controlled.",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (6)
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted