Current release v0.1.1Open source

Brokerr

Your library stays the source of truth.

Self-hosted media synchronization that keeps Plex, Jellyfin, or Emby watch state aligned with the tracking services you already use.

Runs in DockerSelf-hosted, no cloud accountDry run before every write

Sanitized Brokerr dry-run detail showing planned synchronization changes

Plex, Jellyfin, and Emby are supported sources.Profiles decide which libraries feed each target.

Compare provider capabilities

One synchronization layer

Different services, one honest model.

Brokerr reads selected Plex, Jellyfin, or Emby libraries, maps each title to the right provider item, and plans only the changes supported by that target.

AniList, MyAnimeList, TMDB, SIMKL, Trakt, and Letterboxd have different status and progress models. Brokerr exposes those differences instead of pretending every service behaves the same.

How it works

From one scan to controlled writes.

01

Scan the source

Read selected Plex, Jellyfin, or Emby libraries once and normalize watch state for every profile in the batch.

02

Resolve identifiers

Use direct provider IDs, manual overrides, and AniBridge as an anime-only mapping fallback.

03

Plan the diff

Compare source and target state, apply profile rules, and expose every proposed change for review.

04

Write by provider

Run independent provider lanes with pacing, retries, conflict detection, and an inspectable audit trail.

Built for real sync workflows

Control the process, not just the result.

Profiles that stay explicit

Connect selected source libraries to a target account with capability-aware rules and schedule opt-outs.

Every useful sync mode

Run full, incremental, webhook, manual, and scheduled synchronization without changing the profile model.

Efficient multi-profile batches

Share source reads, serialize operations for the same provider type, and run different providers in parallel.

Review before writing

Use dry runs, detailed diffs, mapping context, apply/revert controls, exports, and persistent run history.

Flexible authorization

Choose the hosted Brokerr OAuth gateway or use your own provider application credentials per target.

Operable by design

Inspect diagnostics, bounded request telemetry, audit events, provider health, and Discord notifications.

Rules remain visible

Profiles define exactly what may change.

Select libraries, choose scheduling behavior, and enable only rules supported by the connected target. Contextual guidance explains interactions before they become surprising writes.

  • Pick the source libraries a profile may read
  • Choose scheduling behavior per profile
  • Enable only rules the connected target supports
Sanitized Brokerr profile settings showing sync rules and scheduling controls

Review before writing

A dry run shows the complete diff.

Inspect target state, planned updates, mapping decisions, unmatched items, and errors. Apply an individual entry or the visible result only after the preview makes sense.

  • Target state next to every planned update
  • Mapping decisions, unmatched items and errors in one place
  • Apply a single entry or the whole visible result
Sanitized Brokerr dry-run detail showing planned synchronization changes

Integrations

Connect the account you already use.

Plex, Jellyfin, and Emby provide source state. Target capabilities vary by service, and Discord can deliver filtered run notifications.

Sources

Read watch state

Plex
Jellyfin
Emby

Targets

Receive synchronized state

AniList
My Anime List
TMDB
SIMKL
Trakt
Letterboxd
Discord notificationsAssign webhooks to selected profiles and test delivery before enabling run alerts.
Anime mapping creditsAnime title and episode mapping is powered by the open-source AniBridge mappings dataset, built and maintained by AniBridge contributors.

Self-hosted and private

Your credentials remain under your control.

Runtime configuration lives in SQLite. Recoverable credentials use AES-256-GCM encryption under your master key, while passwords remain one-way hashed. When you choose hosted OAuth, the gateway handles the authorization result only long enough to deliver it to your instance.

  • SQLite runtime configuration — Every setting stays on your instance.
  • AES-256-GCM for recoverable credentials — Encrypted under your own master key.
  • One-way hashed passwords — Account passwords are never recoverable.
Read the security and storage guide
Sanitized Brokerr target settings showing hosted OAuth gateway mode

Start with a dry run

Build it locally. Review every change.

Bring up Brokerr with Docker, connect one source and one target, and inspect the first diff before anything is written.

No Brokerr cloud account required. Data is sent only to the sources, targets, notifications, and optional OAuth gateway you configure.