CrossWatch - self-hosted sync engine

Hi all, I build CrossWatch, a self-hosted sync engine. CrossWatch is a synchronization engine that keeps your TRAKT in sync with Plex, Jellyfin, Emby, Simkl and Mdblist in. It runs locally with a clean web UI to link accounts, configure sync pairs, run them manually or on schedule, and track stats/history.

CrossWatch provides:

  • One brain for all your media syncs.
  • Multi-server (Plex, Jellyfin, Emby) and multi-tracker (TRAKT, SIMKL, Mdblist) in one tool.
  • Sync between media servers: Plex, Jellyfin, Emby - Sync between trackers: SIMKL, TRAKT - or Sync from/to media servers and trackers.
    • Also great for backups or to keep your media servers in sync.
  • Beautiful UI, rich debug logs, and lots of sensible toggles.
  • Simple and advanced scheduling for real freedom.
  • Unified, visual Watchlist across providers — filter, search, bulk remove, etc.
  • Back-to-the-Future (Fallback GUID)
    • Revives old items that left your library but still hide in your server DB, hello, ancient Plex memories that are now in your TRAKT account.
  • Intelligent Webhooks
  • Watcher
  • Watchlist Auto-Remove
    • Clears items automatically from your TRAKT Watchlist after a verified finish
  • Analyzer
    • Finds items stuck between providers.

    • Shows Issues: N per your sync pairs with concrete fix hints.

If this kind of setup is useful for you then try it out here.

4 Likes

I’ve been using it for a while now to sync my watchlist bidirectionally, and compared to many other tools, it works perfectly here and is a true two-way sync. Is there a way to configure the watchlist to sync two-way and then use one-way (Plex to Trakt) for everything else? @pvdberg

Been using this for a couple weeks to sync my watch list to Plex. Works great and super helpful - thanks.

Absolutely you just create two or more pairs. One for watchlist in two-way and the other pairs in one-way with history and ratings feature enabled.

However, my advice would be: one sync from plex to trakt for history (one time) and then disable the pair and switch over to webhook or watcher for realtime updates.

1 Like

Thank you. Its getting better every update.

This is very cool, easy to set up and configure and looks slick too. Will have a play with it and I reckon it will replace PlexTraktSync sooner rather than later. I couldn’t get emby webhooks to work but enabling watcher instead worked.

Thank you. The Emby webhook is essentially the Jellyfin webhook, and I was hoping it would just work. Problem is: I don’t have Emby Premiere, so I can’t live-test it. Realistically, I’ll probably remove the Emby webhook later anyway, Watcher is smarter and does the job better cause i can control it.

yeah i think the emby webhook is very different from the jellyfin one as the payload looks to be different. I tried to replicate a Home Assistant automation i found for Jellyfin with the Emby equivalent once and never managed to do so due to the differences. At least Watcher does the job so I don’t really care about the webhook.

I just tested and can confirm that the emby webhook now works with the latest version.

Thanks for testing, really appreciate it.

No problem, happy to help. This is exactly what I need so I’m keen to see where it is going. My main use is Emby, but I have Plex running for external users and Jellyfin to tinker with and this keeps everything in sync (emby scrobbling to trakt, trakt synching to plex and emby synching to jellyfin).

I’ve tried most of the other solutions and this is by far the easiest to set up and configure.

Because my external users are not very technical and Plex is a lot easier for them (create account, install app, give me the username to add to my server) and some of them already used Plex anyway, whereas Emby is not as convenient. Also, when Plex messed up their latest android app, I rage quit and went back to Emby and that’s been a good experience so far.

1 Like

Version 0.4.4 released. This release is all about the new CrossWatch Tracker A built-in snapshot provider that stores your Watchlist, History and Ratings locally and lets you backup & restore them into your other services. Perfect for easy backup and restoring your Trakt items.

2 Likes