About CrossWatch
CrossWatch in 2 minutes: what it does, how it works, where to start.
CrossWatch (CW) keeps your watch state aligned across services.
It connects media servers and trackers.
It runs locally and stores state on disk.
You control it from a web UI.
CW can feel overwhelming at first. The default settings are good enough for most users.
Start with one pair and one feature. Then expand. Keep it easy!
What you can do
Sync watchlists, history, and ratings.
Scrobble plays in real time with Watcher.
Improve matching using TMDb metadata.
Use local state + snapshots for safer planning.
The mental model
Providers: Plex, Jellyfin, Emby, Trakt, SIMKL, MDBList, AniList, TMDb.
Pairs: one source + one target.
Runs: manual or scheduled.
State: local JSON files CW uses to plan changes.
Where to go next
Platform-specific install (Portainer, NAS, Windows/Linux): Container installation
Install / run in Docker: Docker setup
Your first clean run: First-time setup
Syncing vs scrobbling: What do you need?
How syncing works: Syncing
Enable real-time plays: Watcher
Use safe defaults: Best practices
Browse integrations: Providers
Limits (quick)
CW stores state as JSON files (no database).
That keeps installs simple, but very large libraries can slow planning.
Soft size guidance (varies by hardware)
Watchlist: stable up to ~2,500 items total across providers.
History (plays): stable up to ~10,000 play events total.
Ratings: stable up to ~10,000 ratings total.
Prefer incremental windows for big backfills.
Ratings reads are not cached by design.
If something breaks, file an issue:
Summary
CW syncs watchlists, history, and ratings between services.
It can also scrobble plays in real time with Watcher.
Start small: one pair, one feature, dry run.
Next steps
Install it (platform-specific): Container installation
Install / run it: Docker setup
Do a first clean run in the UI: First-time setup
Pick periodic syncing vs real-time scrobbling: What do you need?
Use safer defaults before two-way sync: Best practices
Last updated
Was this helpful?