Scroblarr automatically syncs your watch history from Plex and Jellyfin to Trakt and Simkl.
No manual logging — just watch and sync.
- Automatic syncing — Real-time webhook-based sync; no manual steps
- Multi-user — Each user links their own Trakt and/or Simkl accounts
- Self-hosted — Your data stays on your server
- Web UI — Configure media servers, link accounts, and view sync history
- Sync history & stats — Dashboard with activity, failures, and trends
- REST API — Integrate with other tools; Swagger at
/api-docs
Check out the documentation for installation (Docker or build from source), configuration, and troubleshooting:
https://0xsysr3ll.github.io/scroblarr/docs
- Check the documentation first — your question might already be covered.
- GitHub Issues — bugs and feature requests.
- Run all baseline tests from the repository root:
pnpm test - Run backend tests only:
pnpm --filter '@scroblarr/backend' test - Run frontend tests only:
pnpm --filter '@scroblarr/frontend' test - Place tests next to source files using
*.test.ts/*.test.tsx - For core-path changes (auth/session checks, API cache/state logic), add or update at least one focused test
Contributions are welcome. See CONTRIBUTING.md for guidelines.
Plex, Jellyfin, Trakt, Simkl, and other product names or logos used in this project are trademarks of their respective owners. Scroblarr is an independent open-source project and is not sponsored, endorsed, or affiliated with those services.
See LICENSE in this repository.