Introduction

JellyPass is a small server that runs next to Jellyfin and Seerr. It lets several households share one Jellyfin server while each keeps its own requests private.

These pages describe JellyPass 3.x. They cover installing the server, putting it behind a reverse proxy, connecting Seerr, setting up households, and the apps members use.

How it works

  1. A household asks for a title. A member asks for it in Seerr, or taps Get this in a JellyPass app, which makes the Seerr request as that member.
  2. Seerr gets it. When the title is available, Seerr sends JellyPass a webhook.
  3. JellyPass makes it private. It gives the Jellyfin item a private tag (one per title, such as jfa:private:8f…) and adds that tag to the blocked tags of every non-administrator Jellyfin user outside the requester's household. Everyone in the requester's household (every group they belong to) can see it; nobody else can.
  4. It keeps it that way. JellyPass saves what it decided in its state file and reconciles Jellyfin with it regularly, so new users and transient failures are corrected.

Administrators are never blocked. Titles JellyPass has never been told about stay as Jellyfin's own policies leave them, so your existing library does not suddenly disappear.

Households and their addresses

A household is a group of Jellyfin users in the JellyPass admin site. With household addresses switched on, each household gets its own HTTPS address, for example https://jelly-grove.example.com. On that address JellyPass passes traffic through to Jellyfin, but:

Any Jellyfin client works with a household address: Jellyfin web, the Jellyfin apps and the JellyPass apps. See Households and members.

What JellyPass does not do

Test first. JellyPass changes Jellyfin item tags and whole user policies. Try it with non-critical users and media, keep a backup of its state file, and keep a separate way to reach Jellyfin as an administrator.