Installing NoriSync on Jellyfin

NoriSync is distributed as a Jellyfin plugin repository, so the recommended install path is to add the repo to your Jellyfin server and let Jellyfin handle downloads and updates.

NoriSync · latest 1.0.0.48 · target ABI 10.11.0.0 · published 2026-04-26

Requirements

1. Add the plugin repository

The manifest is published from the project's Gitea releases.

Manifest URL:

https://git.missen.ca/Esmond/jellyfin-plugin-norisync/releases/download/manifest/manifest.json

In Jellyfin:

  1. Open Dashboard → Plugins → Repositories.
  2. Click the + button to add a new repository.
  3. Fill in:
  4. Click Save and accept the prompt to trust the repository.

Jellyfin fetches the manifest and merges NoriSync into the plugin catalog.

2. Install the plugin

  1. Switch to the Catalog tab on the Plugins page.
  2. Under the General category, find NoriSyncSync local tracks with Jellyfin.
  3. Click it, pick the latest version (1.0.0.48, published 2026-04-26), and click Install.
  4. Restart Jellyfin when prompted. The plugin won't load until the server process restarts.

After restart, the plugin appears under Dashboard → Plugins → My Plugins. Identifying details:

Plugin GUID
11c1ffe5-e4de-4cbb-a30c-c2870eb81603
Owner
Esmond
Description
A Jellyfin plugin for synchronizing Nori with your Jellyfin server library.
Category
General

Manual install (alternative)

If your server can't reach the manifest URL, download the latest zip directly and extract it into Jellyfin's plugins/NoriSync_<version>/ directory, then restart Jellyfin.

Plugin zip
Jellyfin.Plugin.NoriSync_1.0.0.48.zip
MD5 checksum
0bf2cdf619d5ca54ee3475341fd7b0f0
Manifest
manifest.json

Source code

NoriSync is licensed under GPL-2.0-or-later. The source archive for this build is available if you'd like to inspect or rebuild it before installing the binary.

Source zip (v1.0.0.48)
jellyfin-plugin-norisync-v1.0.0.48.zip

To rebuild from source: extract the zip and run dotnet build Jellyfin.Plugin.NoriSync/Jellyfin.Plugin.NoriSync.csproj -c Release. Outputs land in bin/Release/net9.0/.

3. Configure the plugin

Open Dashboard → Plugins → My Plugins → NoriSync to reach the settings page. There are two sections.

Retention

SettingDefaultNotes
Retention Period (days) 30 Change records older than this are purged. Also the idle threshold for registered clients — instances silent for this many days are dropped from retention gating.

Lower this if disk usage on the change log is a concern; raise it if you have clients that go offline for extended periods and you don't want them to miss deletes.

Audio embeddings

These settings drive the NoriSync: Compute Audio Embeddings scheduled task (daily at 03:00 by default). Leave embeddings disabled if you only want the delta-sync API.

SettingDefaultNotes
Enable Audio Embeddings off Master switch. The scheduled task is a no-op until this is on.
Max Tracks Per Run 0 Cap on tracks processed per run. 0 = unlimited. Useful when first enabling on a large library to spread the initial scan across multiple nights.
Embedding Concurrency 2 Parallel workers. Each spawns its own ffmpeg decode, so this multiplies CPU and process count. 2–3 is typical; raise carefully.
Inference Location Remote Where CLAP inference runs. Only Remote is supported in the current buildLocal will throw at task startup.
Remote Endpoint (blank) Base URL of the norisync-embedder companion, e.g. http://m5-mac:9000. Required when embeddings are enabled.

The CLAP weights (laion/larger_clap_music, Apache-2.0) are fetched by the companion service from HuggingFace on first launch and cached locally.

Verifying the install

After saving config, confirm the plugin is live without auth by hitting:

GET http://<your-jellyfin>/api/norisync/info

It returns { id, name, version }. All other endpoints require Jellyfin authentication — see the API section of the README for the full endpoint list.

Updating

Once the repository is added, Jellyfin's plugin catalog will surface new versions automatically. Use Dashboard → Plugins → My Plugins to update, then restart Jellyfin.