Skip to content

Main Features

Bonita is built around organizing a library and syncing a media server. This page matches the actual UI.

Organize and ingest

Transfer tasks

Under Task configs, create one task per library: source folder, output folder, content type (movie / series), and operation.

  • Hard link (recommended) — no extra disk use when source and output share a filesystem
  • Soft link / move / copy — use when the layout needs it

You can run a whole task or a subdirectory. Auto watch runs the task when the source folder changes. After a full run it can also ask Emby to scan the library.

Transfer records

Records lists source path, destination, status, and ID number. You can:

  • Ignore an item so it is not transferred again
  • Set season/episode and the top-level folder
  • Override scrape ID, site, URL, poster crop, part number, and tags
  • Delete a record (destination files by default; force-delete also removes the source)

Scraping and metadata

Scraping is triggered by a task and uses sites supported by scrapinglib.

  • Custom naming, folder rules, watermarks, extra fanart
  • Save metadata stores results on the Metadata page for reuse
  • Manual edit, JSON import, and import from a folder of NFO files
  • Required fields: number, actor, title, cover. Uploading a cover only updates the linked image; the original cover value stays

Watch history and media items

Media items shows movies, episodes, and videos synced from Emby (or created locally). Filter by type, watched, favorite, and whether an ID number exists.

  • Pulling from Emby fills in watched/favorite and does not clear values already stored in Bonita
  • Use Force update in Tools when you want an overwrite
  • Pushing to Emby writes Bonita watched/favorite back (movies, episodes, ID-based videos)

See Media servers for the full flow.

Emby

In Service settings, set the Emby URL, username, and API key. Then you get:

  • Webhook — playback finished, mark played/unplayed, favorite, new media
  • Scheduled full sync — about every 15 minutes by default
  • Manual sync — from Tools
  • Collections — edit members in Bonita, push to Emby
  • Library scan — after an auto-watched transfer run

Jellyfin has a connection form; watch history and collections currently target Emby.

Collections

On Collections, search Emby box sets and add the ones you want to sync.

  • Pull from server: add members only; nothing is deleted in Bonita
  • Add or remove members in Bonita
  • Push to server: Emby then matches that member list

Removing a member from a collection does not delete the media item.

Tools and Transmission

Tools includes NFO import, Emby watch sync, bulk path-prefix rewrite for transfer records, and cleanup of stale records plus torrents older than 7 days.

With Transmission configured, deleting a source file can also remove the matching torrent. Map Transmission’s internal download path to the path Bonita sees.

Next steps

Released under the MIT License