Skip to content

These docs are for MetaTana 2.0, coming soon

On this page

Sync

Sync keeps MetaTana, your playback servers (Plex, Jellyfin, Kodi, Emby), and Trakt in step. Watched state, progress, metadata, and NFO repair move in both directions, and you control each kind of change.

Sync page: Sync now and Add server or service at the top, a card for each media server and one for Trakt with its status and main action, then Sync options and Recent sync.
Sync: one card per server, plus Trakt

Sync is one page for media servers and Trakt:

  • Sync now at the top syncs every enabled server, and Trakt when it is connected. Add server or service adds a Jellyfin, Plex, Emby, or Kodi server, or connects Trakt.
  • Each server, and Trakt, has a card with its status and one action: Sync now, Review N differences, Reconnect, or Connect for Trakt. Review N differences counts only titles that really differ, and shows 100+ when a kind has more than 100; the rest appear after you apply the first ones. Reconnect tests the connection and, when it works, asks the server to refresh its library. The ⋯ menu on a server card has Test connection, Review differences, Refresh library, the pull and push actions that server supports, and Remove…. When the server can't see some of your folders, the card lists them with Add path mapping.
  • Review differences opens a drawer listing each difference between MetaTana and the server under Watched & progress and Metadata. Choose Pull, Push, or Ignore on each row, or use Pull all, Push all, or Ignore all, then select Apply N changes. Pull uses the server's value in MetaTana; Push sends MetaTana's value to the server. A locked field can't be pulled.
  • Server settings opens a drawer where you edit the name, address, and key (shown as Saved · ending and its last four characters), path mappings, which watched state and progress pull or push, Refresh library after filing and edits, the publish policy, and disc and path compatibility. When you change the address or key, Save tests the connection first. If the test fails, you can still Save anyway.
  • Sync options sets Sync servers automatically (Off, Every hour, Every 6 hours, or Once a day) and Conflicts: Newer wins, MetaTana wins, or Server wins. With Trakt connected, it also shows that Trakt syncs in the background every 15 minutes.
  • Recent sync lists the latest sync runs. A run that could not match some items says N not matched.
  • The server address field accepts a pasted URL such as http://192.168.1.10:32400 or https://plex.example.com. The port moves to Port, and HTTPS and a base path are kept.
  • Push metadata… on a Kodi server card asks first, because it overwrites the metadata of every matched movie and episode in Kodi and can't be undone. Each push appears in Activity.
  • Kodi cleans only the folders a move left. It never cleans the whole library.
  • Test connection for Plex checks the token too, so a wrong token fails the test instead of every sync after it.
  • Sync now on a card, Sync now at the top and automatic sync all do the same thing: pull watched state, pull progress, then push, each only when it is switched on in Server settings.
  • Marking a title watched clears its resume point, so a player doesn't offer to resume a finished title.

What Sync covers

Kind Direction What it syncs
Watched state MetaTana ↔ server Whether a title has been watched
Progress MetaTana ↔ server Where you stopped in a title you haven't finished
Metadata MetaTana ↔ Kodi, Emby, Jellyfin Field differences, such as the overview or genres
Local NFO repair MetaTana only Playback state in existing NFO files, from MetaTana's state

What each choice changes

Choice Changes in MetaTana Changes on the server
Watched or progress Pull That title's watched state or progress Nothing
Watched or progress Push Nothing That title's watched state or progress
Metadata Pull (Kodi, Emby, Jellyfin) The accepted, unlocked fields Nothing
Metadata Push (Kodi, Emby, Jellyfin) Nothing That title's metadata on the server
Use NFO Watched state or progress, read from the existing NFO Nothing
Repair NFO The playback fields in the existing NFO Nothing
Create NFO Writes a missing NFO Nothing
Ignore A note that you reviewed it Nothing

Each change reads the current values first, makes the change, then reads them back. If the result can't be confirmed, the change is marked failed in Activity instead of synced.

Automatic sync

Sync servers automatically is under Sync options. Choose Off (default), Every hour, Every 6 hours, or Once a day. Each run does what Sync now does for every enabled server, starting with a watched pull from servers that have Watched pull on, and is logged in Activity. See Automatic sync.

Common workflows

Push your watched state to a new server Add the server with Add server or service and turn on watched push in its Server settings. Open Review differences, check the rows, then Push all and Apply N changes.
Pull progress from the server you watch on Turn on progress pull in the server's Server settings, open Review differences, check each row, then apply the ones you want.
Refresh stale NFO playback state In Review differences, rows where an NFO disagrees with MetaTana offer Repair NFO, Use NFO, or Create NFO. Repair rewrites only existing NFO files.
Sync a server that's been offline When it is back, pull recent watched state first (Conflicts in Sync options decides which side wins), then push what is newer in MetaTana.

Common pitfalls

Plex ignores some NFO fields Plex doesn't read watched state and progress from Kodi-style NFOs by default. Push them from Sync instead of relying on NFO files to carry them.
Don't bulk-push bad metadata to a new server Clean the local library first. Wrong or incomplete metadata pushed at scale is much harder to clean up than getting it right before the push. See Triage what needs your attention.

Going deeper