Self-hosted service that syncs watch/play state between Plex, Jellyfin and Emby media servers without third-party services.
ellite/scrob
Self-hosted media tracker that syncs Jellyfin, Plex, Emby, Nuvio and Stremio libraries and watch history.
Open-source alternative to:Letterboxd
Trakt
- Stars
- 587
- Forks
- 50
- Open issues
- 123
- Last commit
- 6 days ago
What is it?
Scrob is a self-hosted web app for tracking movies and TV shows. It imports libraries, watched status and playback progress from Jellyfin, Plex, Emby, Nuvio, ARVIO and Stremio, and can push watched activity back to those providers and to Trakt, Simkl and MDBList.
It records every play with its timestamp, supports 10-point ratings with reviews, season ratings, rewatches and personal public lists. Webhooks from Jellyfin, Plex, Emby and Kodi update watch state in real time, and metadata comes from TMDB with optional TheTVDB episode orders.
The app runs as a single container with an optional bundled PostgreSQL, installs as a PWA, and supports OIDC single sign-on and two-factor authentication.
Key features
- 01Syncs libraries and watch history from Jellyfin, Plex, Emby, Nuvio and Stremio.
- 02Pushes watched status and ratings back to Trakt, Simkl and MDBList.
- 03Real-time scrobbling through webhooks from Jellyfin, Plex, Emby and Kodi.
- 04Tracks every play with timestamps, 10-point ratings and reviews.
- 05Personal and public lists, comments, and follows between users.
- 06Statistics page with watch time, activity charts and ratings breakdown.
- 07OIDC single sign-on and TOTP two-factor authentication.
Use cases
- Keeping one unified watch history across a Jellyfin or Plex server and a Trakt account.
- Replacing Letterboxd-style logging for a household that runs its own media server.
- Migrating an existing Yamtrack or Trakt export into a self-hosted instance.
- Tracking shows and movies across several Stremio or Nuvio profiles.
Quick start
- 1
Download the Docker Compose file from the README
curl -o docker-compose.yaml https://raw.githubusercontent.com/ellite/scrob/main/docker-compose.yaml - 2
Edit the file and replace the passwords and SECRET_KEY with your own values
- 3
Start Scrob with Docker Compose
docker compose up -d - 4
Open http://localhost:7330 in your browser, create an account and add your TMDB Read Access Token
Things to know
- A free TMDB Read Access Token is required for metadata, search and images.
- Live Trakt connection requires a Trakt VIP subscription; others can only import via a Trakt data export.
- Self-hosting requires running Docker and a PostgreSQL database.
- Licensed under GPL-3.0, a copyleft license that requires derivative works to remain open source.
In collections
Topics
FAQ
- What is scrob?
- Self-hosted media tracker that syncs Jellyfin, Plex, Emby, Nuvio and Stremio libraries and watch history. Scrob is a self-hosted web app for tracking movies and TV shows. It imports libraries, watched status and playback progress from Jellyfin, Plex, Emby, Nuvio, ARVIO and Stremio, and can push watched activity back to those providers and to Trakt, Simkl and MDBList.
- Is scrob free to use? What license does it have?
- scrob is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is scrob still maintained?
- Actively maintained. The last commit to scrob was on Oct 31, 2026.
- What can I use scrob for?
- Keeping one unified watch history across a Jellyfin or Plex server and a Trakt account. Replacing Letterboxd-style logging for a household that runs its own media server. Migrating an existing Yamtrack or Trakt export into a self-hosted instance. Tracking shows and movies across several Stremio or Nuvio profiles.
- How do I install scrob?
- Download the Docker Compose file from the README: curl -o docker-compose.yaml https://raw.githubusercontent.com/ellite/scrob/main/docker-compose.yaml Edit the file and replace the passwords and SECRET_KEY with your own values Start Scrob with Docker Compose: docker compose up -d Open http://localhost:7330 in your browser, create an account and add your TMDB Read Access Token
- Where can I get scrob?
- The source code and installation instructions are on GitHub: https://github.com/ellite/scrob
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted tool that syncs watchlists, ratings, history and playback progress between media servers like Plex, Jellyfin and Emby, and trackers like Trakt and SIMKL.
A self-hosted web app to track, rate and explore your movie watch history, with Trakt, Letterboxd and media server integrations.
Open-source web app for users to request movies and TV shows, with approval workflows for Jellyfin, Plex, and Emby libraries.
Ombi is a self-hosted media request tool that lets users ask for movies, music and TV shows and syncs with Plex, Emby and Jellyfin.
A library maintenance tool for Plex, Jellyfin and Emby that uses rules to collect unwatched or unrequested media and remove it after a grace period.