selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

matrix-media-repo logo

Self-host matrix-media-repo

v1.3.8

Multi-domain media repository for Matrix homeservers

ReleaseOpen SourceMIT
Updated11 months ago
LanguageGo
Setup difficultyAdvanced
Stars
239
CPU
2 CPU cores
RAM
1GB RAM
Storage
Fast temporary disk (ephemeral OK)
Ports
8000 (HTTP API for media repository), 9000 (Prometheus metrics (optional))
Requires
PostgreSQL
Docker
docker.io/turt2live/matrix-media-repo
Install with Docker

What is matrix-media-repo?

matrix-media-repo (MMR) handles media for Matrix homeservers — uploads, downloads, thumbnails, and URL previews. It sits between a reverse proxy and homeserver software like Synapse or Dendrite. MMR deduplicates stored media and targets large homeservers or hosting providers. It supports S3-compatible storage as a preferred backend, with PostgreSQL required and optional Redis for horizontal scaling. The project provides Docker images, binary releases, and can be compiled from source. Features include rate limiting, media quarantine, archiving for GDPR compliance, and per-domain configuration.

Should you self-host matrix-media-repo?

matrix-media-repo scores 52/100 on selfhost.directory (how scoring works) and ranks #53 of 118 in Media Server. It has 239 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is MIT-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is Jellyfin (88/100, 58 737 stars). It scores higher overall, so compare the two before you pick. See matrix-media-repo vs Jellyfin side by side.

Features

  • Admin API
  • Federation Support
  • Horizontal Scaling
  • Media archiving (GDPR)
  • Media deduplication
  • Media quarantine
  • Multi-domain media repository
  • Per-domain configuration
  • Plugin System
  • Prometheus Metrics
  • Rate Limiting
  • Thumbnail generation
  • URL previews

matrix-media-repo README

How to install matrix-media-repo

Install matrix-media-repo with Docker

Environment variables
REPO_CONFIG for split config directory, MACHINE_ID for horizontal scaling

docker run
--restart unless-stopped
-p 127.0.0.1:8000:8000
-v /etc/matrix-media-repo:/data
docker.io/turt2live/matrix-media-repo:latest

Tagged releases recommended over 'latest'. ARM images available on GHCR.

matrix-media-repo releases & version history

More in Media Server

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…