⭐ Star this repository to get updates
Version 0.9.x provides Profiles(multi-users/servers - be your own sync hub)
Experimental support
CrossWatch/CW is a synchronization engine that keeps your Plex, Jellyfin, Emby, SIMKL, Trakt, AniList, TMDb, MDBList and Tautulli 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.
Supported: Movies and TV shows / episodes / Seasons
Supported: Plex, Emby, Jellyfin, MDBList, Tautulli, AniList, Trakt, SIMKL, TMDb and CW internal tracker
Supported: Profiles (Multi-users / Multi-servers per instance)
- One brain for all your media syncs A single place to configure everything.
- Be your own Sync Hub Create profiles for seperate media servers and/or tracker instances.
- Multi media-server and multi tracker support, in just one tool.
- Mobile-friendly overview that prioritizes only the essentials
- Flexible sync directions Between media server and trackers.
- Simple and advanced scheduling From standard to more detailed pair schedules
- Internal CW Tracker Keeps snapshots/backups from your media servers and trackers.
- Unified Watchlist across providers View all watchlist items in one place.
- Fallback GUID Revives old items from your Plex library.
- Watcher (Plex/Emby/Jellyfin to Trakt/SIMKL/MDBList) subscription-free.
- Watchlist Auto-Remove Clears items from your Watchlist after a verified finish.
- Analyzer Finds items that are stuck or inconsistent between providers.
- Editor Inspect and adjust your items and add or block items.
- Player card Shows what you are currently watching in real time.
- Snapshosts Rollback tool for provider watchlist, ratings, and history
|
|
-
Docker:
docker pull ghcr.io/cenodude/crosswatch:latest
docker run -d --name crosswatch -p 8787:8787 -v /path/to/config:/config -e TZ=UTC ghcr.io/cenodude/crosswatch:latestor
# docker-compose.yml
services:
crosswatch:
image: ghcr.io/cenodude/crosswatch:latest
container_name: crosswatch
ports:
- "8787:8787" # host:container
environment:
- TZ=UTC
volumes:
- /path/to/config:/config
restart: unless-stoppedThe container exposes the web UI at:
http://localhost:8787
Huge thanks to our sponsors for keeping this project moving.

