Skip to the content.

CrossWatch

CrossWatch - Screenshot 1 CrossWatch - Screenshot 2 CrossWatch - Screenshot 3 CrossWatch - Screenshot 4

Click any screenshot to view it full size.

image

Latest Release Must-read: Quick Start
Docker Pulls Image Size Docker Version

CrossWatch/CW is a synchronization engine that keeps your Plex, Jellyfin, Emby, SIMKL, Trakt, AniList, 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 and CW internal tracker
NOT supported: Multi-users/servers

CW in a nutshell:

image

Features

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
  • Now Playing card, Stats, history, live logs
  • Headless scheduled runs
Trackers
CrossWatch  SIMKL  AniList  Trakt  MDBList Media servers
Plex  Jellyfin  Emby Others
Tautulli

Download

Tip: use :latest for stable, or a specific tag like :v0.2.x.


Run as Container

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

or

# docker-compose.yml
services:
  crosswatch:
    image: ghcr.io/cenodude/crosswatch:latest
    container_name: crosswatch
    ports:
      - "8787:8787"          # host:container
    environment:
      - TZ=Europe/Amsterdam
    volumes:
      - /path/to/config:/config
    restart: unless-stopped

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

By default CONFIG_BASE will be /config inside the container.
Your config.json, state.json, statistics.json, etc. will all be stored there.

Usage

  1. Open the web UI
  2. Connect at least one authentication providers such as: Plex, Jellyfin, Emby, SIMKL, TRAKT etc.
  3. Create one or more Sync Pairs (for example: Plex to SIMKL or two-way) AND/OR enable Scrobble
  4. Click Synchronize to start, or enable scheduling in Settings
  5. Track stats, logs, and history from the UI