Two-way watch history sync across Plex, Emby and Jellyfin

Hi, I’m sharing Plembfin, a self-hosted, open-source sync hub for Trakt users who also run Plex, Emby, or Jellyfin.

Website: https://plembfin.com

Docs: plembfin/docs at main · Lasikiewicz/plembfin · GitHub

Source: GitHub - Lasikiewicz/plembfin: Self-hosted watch history tracker and playstate sync for Plex, Emby, Jellyfin and Trakt. keeps watched/unwatched status and resume progress in sync across all your media servers. · GitHub

Plembfin keeps watched and unwatched state, resume positions, and watch history synchronized between Trakt and connected media servers. It stores a local SQLite history, combines webhooks with scheduled catch-up sync, and can recover history after a library rebuild or media re-add. It also provides per-destination results, targeted retries, ratings and watchlist support, Now Playing, metadata tools, Seerr integration, and backup tools.

It is aimed at people who use more than one media server or want Trakt to remain a reliable source of watch history. It is early and I am looking for feedback on matching, conflicting updates, duplicate plays, and large libraries. Please back up your metadata before testing.

Docker setup and configuration are documented at https://plembfin.com. I have used AI coding agents heavily during development, with manual review and testing throughout. It is licensed under AGPL-3.0. This is not affiliated with Trakt, Plex, Emby, or Jellyfin.