Seerr
MIT
- Platform
- Docker Linux
- Licence
- MIT Open source
Overview
Seerr is a request and media-discovery front end for a self-hosted media library. It sits in front of Jellyfin, Plex or Emby and gives everyone in a household a single web page where they can search for a film or a series, ask for it, and follow the request from “pending” to “available”. Behind the scenes it talks to Sonarr and Radarr, so approving a request is all it takes for the download to be queued and, once the file lands, for the library to pick it up.
Seerr is the unified successor to Overseerr and Jellyseerr: the two projects that had grown apart around the Plex and Jellyfin/Emby sides of the same idea were merged into one codebase, one image and one upgrade path. The result is a single application that speaks all three media servers, and a documented migration route for anyone still running either predecessor.
Key Features
- Three media servers, one install: Jellyfin, Plex and Emby are all supported, including authentication against the media server itself with user import and management.
- Request workflow that works for a household: users request individual films, whole series or single seasons, and an admin approves or declines from a dashboard that shows recent requests with their status at a glance.
- Sonarr and Radarr integration: approved requests are handed to the existing automation stack rather than downloaded twice, so Seerr manages the “who wants what” layer and leaves the fetching to the tools already doing it.
- Library awareness: Seerr scans the media server’s library so already-available titles are marked, and nobody requests something that is already sitting on the disk.
- Granular permissions: per-user roles decide who may request, who may approve, who sees 4K, and what each account can do.
- Choice of database: SQLite for a small single-user setup, PostgreSQL when the instance grows or when it needs to be backed up and run like a proper service.
- Watchlist and blocklist: titles can be flagged as wanted-but-not-yet-available, or excluded so they never show up as requestable.
- Notifications and a mobile-friendly UI: a range of notification agents cover request and availability events, and the interface is usable on a phone for approving on the go.
Why Use It
Without a request layer, a shared media library turns into a group chat: someone asks for a film, someone else adds it by hand, and nobody knows whether it was done. Seerr replaces that with a queue that has states, an approval step, and a record of who asked for what. Because it reads the library before it offers anything, it also stops the duplicate requests that make an automation stack look broken when it is in fact working fine. It is a small container to run, it keeps its data in SQLite or PostgreSQL, and it does not require anyone else’s cloud account to work.
Use Cases
- Family and shared households: give each person an account and let them request what they want, while the admin approves from one screen.
- Upgrading from Overseerr or Jellyseerr: migrate the existing database and keep requests, users and settings, with a single project to track from then on.
- Mixed media servers: run one Seerr instance where the library runs on Jellyfin but someone still uses a Plex client.
- Requesting without the automation UI: keep Sonarr and Radarr as the back end and give users a friendly front end that never exposes their admin interfaces.
Views: 0