AGPL-3.0🖥️ Self-hostable

CrossWatch

CrossWatch

CrossWatch (CW) is a self-hosted media-sync hub that keeps your watchlists, ratings, history, playback progress and collections in step across the media servers, media clients and trackers you actually use. It synchronises between Plex, Jellyfin, Emby, Kodi, Nuvio and Stremio and tracking services such as Simkl, Trakt, AniList, MyAnimeList, Kitsu, TMDb, MDBList and Tautulli, plus its own local tracker with snapshots. It runs locally with a web dashboard at localhost:8787 and a CLI, is packaged as a Docker container, and the latest release is v0.13.4.

Key Features

  • Broad provider support — Syncs between media servers (Plex, Jellyfin, Emby), media clients (Kodi, Nuvio, Stremio) and trackers (Simkl, Trakt, AniList, MyAnimeList, Kitsu, TMDb, MDBList, Floppy, WeTrakr and more), plus its own local CW Tracker.
  • Interactive Sync — Review additions, updates and removals before applying them, and resolve conflicts or correct titles, IDs, seasons and episodes as you go.
  • Watcher and webhooks — Report playback activity from Plex, Emby, Jellyfin, Kodi or Scrob to supported trackers without needing Plex Pass or Emby Premiere.
  • Profiles — Keep separate sync setups for yourself, family, friends, servers or tracker configurations, each with its own accounts.
  • Anime ID mapping — Match anime across AniList, MyAnimeList, Kitsu, Simkl and CW Tracker pairs, powered by AniBridge and animeApi with custom overrides.
  • Snapshots and captures — Keep provider snapshots and roll back watchlists, ratings, history and collections when you need to recover data.
  • Unified watchlist and player card — See every watchlist item in one place and what is currently playing in real time.
  • Scheduling and notifications — Run syncs on simple or per-pair schedules, and get notifications for sync progress, pending reviews and release updates.
  • CLI-only and run-once modes — Disable the web UI with CW_CLI_ONLY, or run one-shot sync jobs from cron or Kubernetes CronJobs.

Why Use CrossWatch?

Your watch activity ends up scattered: you watch on one device, track your list on another service, and keep a separate history on a media server. CrossWatch removes the manual book-keeping by defining sync pairs between the services you use and running them on a schedule or in real time through Watcher. You get to approve changes before they land via Interactive Sync, local snapshots mean your server and tracker data stay recoverable, and profiles let you manage more than one person’s setup without mixing accounts together.

Use Cases

  • Keeping an AniList, MyAnimeList or Trakt profile accurate as you actually watch through Plex, Jellyfin, Emby or Kodi.
  • Households or shared libraries where several people watch from one server but each tracks their own history and ratings.
  • Mirroring watch history and progress between two media servers, or from Plex into another library or tracker.
  • Running one-shot sync jobs from a cron schedule or Kubernetes CronJob without keeping the web UI running.

Platform

Self-hosted web application — runs in Docker (Linux host) with the web UI at localhost:8787 and persistent config in a Docker volume; a CLI/API-only mode (CW_CLI_ONLY) is also available. A companion Kodi add-on reports playback and household viewers. Source: github.com/cenodude/CrossWatch

Licence

GNU Affero General Public License v3.0 (AGPL-3.0) — source at github.com/cenodude/CrossWatch

Website

crosswatch.app

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.