Downloads (remote media)
Remote media is any media offered by a homeserver that isn't controlled by the media repo
instance. For example, if your media repo config lists
other-hs.example.org will be considered remote.
The following configuration can be used to control remote media downloads:
downloads: maxBytes: 104857600 # 100MB default, 0 to disable numWorkers: 10 failureCacheMinutes: 5 expireAfterDays: 0
maxBytes value ensures that large remote media is not fetched. Normally this is set to the
same value as your upload limit for consistency.
numWorkers is the number of concurrent requests for external media to handle at a time. The media
repo already de-duplicates requests for the same media, though requests spanning multiple servers
or media IDs can still be made. Requests are queued if they cannot be processed concurrently. It
is recommended to increase this if you're having troubles downloading remote media, or if you're
having issues with memory usage.
Sometimes servers fail to respond (500 errors, offline, etc) and the media repo will cache failures
for a short while on particular media to give the remote server some breathing room. This breathing
room can be changed with
Remote media is often not used after a week or two of being downloaded, and can be purged with the
expireAfterDays option. If a client re-requests the media, it will be downloaded again.