Point it at your video directories. Media Centaur identifies your movies and TV shows via TMDB, downloads artwork, tracks your progress, and plays everything locally through mpv — in a real-time browser UI that's fast at your desk and made for your couch.
Zero-config SQLite. No Docker. No transcoding server. No accounts. No cloud.
Most self-hosted media setups are four services in a trench coat. Media Centaur is one Elixir app that does the library management, the metadata, the review workflow, and the playback — and hands the actual decoding off to mpv.
No cloud. No accounts. Single-user by design. Media Centaur runs entirely on your own hardware — the metadata it fetches comes from TMDB and stops there. Everything else stays on disk, in a plain SQLite file you can read, back up, and move.
Media Centaur hands playback off to mpv instead of bundling a player. mpv renders every subtitle format correctly — ASS typesetting, SRT, PGS/SUP image subs — and plays virtually every container and codec at full fidelity. It also exposes a Lua scripting surface and a stable JSON IPC socket, both of which Media Centaur uses.
Media Centaur is opinionated about what it isn't. If you need one of these, a different tool will serve you better.
No Chromecast, AirPlay, or DLNA, and no mobile app — it doesn't stream to other devices. Jellyfin exists for that.
It never re-encodes your files. mpv plays exactly what's on disk, at full fidelity.
No accounts, sharing, or access control. It's single-user by design — one person, one library.
Downloads the latest release, verifies its checksum, installs atomically, and sets up a systemd user unit (launchd on macOS). Linux x86_64 is the primary, fully-supported platform; macOS Apple Silicon is experimental.
curl -fsSL https://raw.githubusercontent.com/media-centaur/media-centaur/main/installer/install.sh | sh