Skip to content

Alpha  ·  Linux  ·  MIT

The media center for the self-hosting enthusiast.

Point it at your video directories. Media Centarr identifies your movies and TV shows via TMDB, downloads artwork, tracks your progress, and plays everything locally through mpv — all from a real-time browser UI built for a TV across the room.

Zero-config SQLite. No Docker. No transcoding server. No accounts. No cloud.

Media Centarr centaur-archer logo

Everything the *ARR stack does, in one app — plus the player.

Most self-hosted media setups are four services in a trench coat. Media Centarr 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.

Library management

Watches your directories, identifies movies and TV shows via TMDB, downloads artwork. Low-confidence matches wait for manual review rather than polluting your library with wrong guesses.

Playback

Launches mpv on the local machine, tracks your progress, resumes where you left off, auto-advances to the next episode. World-class subtitle rendering out of the box.

Release tracking

Monitors TMDB daily for upcoming movies and new TV seasons tied to the shows in your library. No more "wait, there's a season 4?"

Optional acquisition

Search and queue downloads via Prowlarr. Entirely optional — Media Centarr is a full library manager without it. Bring your own indexers.

Couch-first UI

Keyboard and gamepad navigation — plus any universal remote that can send keystrokes (Bluetooth pairing or a Flirc USB). Large artwork, dark-first, built to drive a TV from across the room.

Real-time

Every change — new file detected, metadata fetched, playback started — appears instantly via Phoenix LiveView. No polling. No refresh button.

The product.

Dark-first, keyboard- and gamepad-friendly, designed for the distance between a couch and a TV.

Library grid — screenshot placeholder
Library grid
Playback overlay — screenshot placeholder
Playback overlay
Review queue — screenshot placeholder
Review queue
Release tracking — upcoming and available episodes
Release tracking
Settings overview — subsystem health
Settings overview
Watch history — recent progress and resume targets
Watch history

Why mpv

Great software delegates.

Media Centarr hands playback off to mpv instead of bundling a player or using an in-browser one. mpv renders every subtitle format correctly — ASS typesetting, SRT, PGS/SUP image subs, external or embedded — and plays virtually every container and codec at full fidelity.

mpv also exposes a Lua scripting surface and a stable JSON IPC socket, both of which Media Centarr uses. The couch overlays, progress tracking, and next-episode logic all hook into mpv rather than replacing it.

Deliberately not

This is the wrong project if you want…

  • To stream to other devices. No web player for remote clients, no Chromecast / AirPlay / DLNA, no mobile app. Media Centarr plays locally. Jellyfin exists.
  • Transcoding. Media Centarr never re-encodes your files. It plays what's on disk, as authored. Fix the file or the hardware, not the library manager.
  • Docker or containerized deployment. Native Linux application — install script, systemd user unit, SQLite. The *ARR stack in Docker is a well-trodden path if you want that.
  • Multi-user accounts, sharing, access control. Single-user app for the person at the keyboard or on the couch. A reverse proxy with basic auth is as fancy as it gets.

Install

One line on Linux x86_64.

Downloads the latest release, verifies its checksum, installs atomically, and sets up a systemd user unit.

curl -fsSL https://raw.githubusercontent.com/media-centarr/media-centarr/main/installer/install.sh | sh

Need details, an update path, or an uninstall? Installation guide →

Requirements

System packages

Arch: pacman -S sqlite mpv inotify-tools

Debian/Ubuntu: apt install sqlite3 mpv inotify-tools