⭐ Star this repository to get updates
CrossWatch (CW) is a synchronization engine that act as a bridge and keeps your Plex, Jellyfin, Emby, SIMKL, Floppy, Trakt, AniList, TMDb, MDBList, PublicMetaDB, PunchPlay Tautulli, Kodi, Nuvio, Stremio and CW local tracker in sync. It runs locally with a web UI where you link accounts, define sync pairs, run them manually or on a schedule, and review stats and history. CW also includes its own tracker to keep your data safe with snapshots. With Profiles, you can manage separate sync setups for yourself and for friends or family too, with their own servers and/or tracker API's.
- One brain for all your media syncs A single place to configure everything.
- Be your own Sync Hub Create profiles for seperate media servers/users/trackers.
- Multi media-server and multi tracker support with profiles.
- Synchronization
- Watchlists, Ratings, History and Progress
- Rewatches: keep separate plays in sync for supported trackers.
- Anime ID mapping (powered by AniBridge and animeApi) for AniList and SIMKL pairs, with custom mappings.
- Scrobble (tracks your activity)
- Watcher (Plex/Emby/Jellyfin/Kodi to supported trackers)
- Does not require Plex Pass or Emby Premiere. Yay!
- Webhooks (Plex/Emby/Jellyfin to supported trackers)
- Watcher (Plex/Emby/Jellyfin/Kodi to supported trackers)
- Tools
- Analyzer: Finds items that are stuck or inconsistent between providers.
- Playback Progress Manager: View and edit unfinished playback sessions across providers.
- Editor: Inspect and adjust your items and add or block items.
- Events Viewer: Search and inspect sync runs.
- Captures: Rollback tool for provider watchlist, ratings, and history.
And much, much more...such as:
- Simple and advanced scheduling: From standard to more detailed pair schedules
- CW Tracker Keeps snapshots/backups from your media servers and trackers.
- Unified Watchlist: View all watchlist items in one place.
- Player card: Shows what you are currently watching in real time.
- Fallback GUID: Revives old items from your Plex library.
-
Docker:
docker pull ghcr.io/cenodude/crosswatch:latest
docker run -d \
--name crosswatch \
-p 8787:8787 \
-v crosswatch_config:/config \
-e TZ=Europe/Amsterdam \
--restart unless-stopped \
ghcr.io/cenodude/crosswatch:latestor
services:
crosswatch:
image: ghcr.io/cenodude/crosswatch:latest
container_name: crosswatch
ports:
- "8787:8787"
environment:
TZ: Europe/Amsterdam
volumes:
- type: volume
source: crosswatch_config
target: /config
restart: unless-stopped
volumes:
crosswatch_config:The container exposes the web UI at:
http://localhost:8787
Huge thanks to our sponsors for keeping this project moving.