An open API service indexing awesome lists of open source software.

https://github.com/cenodude/CrossWatch

Synchronize your data across Plex, Jellyfin, Emby, SIMKL, Trakt, AniList, TMDb, MDBlist, and more. Keep your movies and shows in sync, no matter where you watch.
https://github.com/cenodude/CrossWatch

anilist emby jellyfin mdblist media-sync media-synchronisation plex plex-media-server simkl tautulli tmdb trakt watcher webhook

Last synced: 6 days ago
JSON representation

Synchronize your data across Plex, Jellyfin, Emby, SIMKL, Trakt, AniList, TMDb, MDBlist, and more. Keep your movies and shows in sync, no matter where you watch.

Awesome Lists containing this project

README

          

CrossWatch



CrossWatch - Screenshot 1


CrossWatch - Screenshot 2


CrossWatch - Screenshot 3


CrossWatch - Screenshot 4


⭐ Star this repository to get updates


providers1 (1)



Latest Release


GHCR Pulls


Must-read: Quick Start




Docker Pulls


Image Size


Docker Version



Website


Wiki

**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.

Supported: **Movies** and **TV shows / episodes / Seasons**\
Supported: **Plex, Emby, Jellyfin, MDBList, Tautulli, AniList, Trakt, SIMKL, TMDb and CW internal tracker**\

> **Not supported (yet): Multi-users / Multi-servers per instance**
> CrossWatch currently supports **one user and one server per instance**.
> Need multiple users/servers? Run **multiple containers** (one per user/server).


Important: Multi-user / multi-server support is in progress.

Track progress here: Issue #73

CrossWatch mobile

### CW in a nutshell:
* **One brain for all your media syncs** A single place to configure everything.
* **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



Core features



  • Sync watchlists (one-/two-way)

  • Live scrobble (Plex/Jellyfin/Emby to Trakt/SIMKL/MDBList)

  • Sync ratings (one-/two-way)

  • Sync history (one-/two-way)

  • Keep snapshots with CW tracker

  • Auto-remove from watchlist after finish




Tools & modes



  • Analyzer: finds broken or missing matches/IDs

  • Exporter: CSV files for popular services

  • Editor: Edit and adjust your items

  • Snapshots: Create and restore snapshots

  • Now Playing card, Stats, history, live logs

  • Headless scheduled runs


Trackers

CrossWatch
SIMKL
AniList
Trakt
MDBList
TMDb


Media servers

Plex
Jellyfin
Emby


Others

Tautulli



### Download
[![Guide: Container Installation](https://img.shields.io/badge/Guide-Container%20Installation-2ea44f?style=for-the-badge)](https://wiki.crosswatch.app/getting-started/container-installation)
[![Guide: Docker Setup](https://img.shields.io/badge/Guide-Docker%20Setup-0d6efd?style=for-the-badge)](https://wiki.crosswatch.app/getting-started/docker-setup)

* **Docker:**

```bash
docker pull ghcr.io/cenodude/crosswatch:latest
```

### Run as Container

```bash
docker run -d --name crosswatch -p 8787:8787 -v /path/to/config:/config -e TZ=UTC ghcr.io/cenodude/crosswatch:latest
```

or

```bash
# 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-stopped
```

> The container exposes the web UI at:\
> http://localhost:8787

## Sponsors


Buy Me a Coffee


Every cent goes to the ALS Foundation in the Netherlands




GitBook


Huge thanks to our sponsors for keeping this project moving.