Overfin

Your own streaming service, on top of Jellyfin.

Overfin puts a proper front door on your Jellyfin server: its own sign-in, profiles, kids limits that hold, invitations, requests and a clean web app. Share your library with family and friends without putting Jellyfin itself on the internet, and without giving anyone a Jellyfin account.

Open source (MIT) · Early pre-release · Browser only for now

The home page: a slideshow of titles over rows of trending films
The home page on a phone
A film's page: poster, logo, rating, play and list buttons, cast
A library: posters in a grid with sort and filters

What you get

For the people watching

  • Sign in with an email and a password. No Jellyfin account, no app to install.
  • Profiles, each with its own history and an optional PIN. Kids profiles see only titles for their age: everything else is hidden everywhere, not just greyed out.
  • A catalog that looks the part: posters, logos and backdrops from TMDB, cast pages, collections, search, trending and upcoming titles. Titles your libraries don't have can be requested.
  • Watching in the browser: direct play whenever possible, subtitles, audio tracks, seek previews, skipping intros and credits, the next episode lined up, picking up on any device.
  • Their language and their look: the languages you offer, light or dark.
  • Recommendations per profile, and similar titles on every title's page.

For you, running it

  • Overfin and its own Jellyfin, in one compose file. Overfin sets Jellyfin up and keeps its settings; nothing else talks to it.
  • A setup wizard, one step at a time: language, TMDB, Intro Skipper, Seerr, and you as its first admin.
  • Categories of your own (Films, Series, Anime, Kids…), made from rules.
  • A control panel: what's playing now, people and accounts, invitations, templates, limits, libraries, transcoding, email, notices, fixing misidentified titles.
  • Bringing people over from another Jellyfin, watch history included.
  • Your own identity provider if you have one: OpenID Connect or a proxy's forward auth.
  • A public, documented API: your own site or app can do everything the official one does.

How it works

Overfin is a server that sits between the people watching and a Jellyfin of its own, which stays private. Every app, official or not, talks to Overfin through the same API.

browser ──▶ the site (overfin-web, or your own)
   └──▶ /api/v1/*  ──▶  Overfin  ──▶  Jellyfin (private)
                          │
                          └──▶  its own sign-in, or your identity provider

Install it

You need Docker with Compose, and your media on the same machine.

mkdir overfin && cd overfin
curl -fsSLO https://raw.githubusercontent.com/overfin/server/v0.7.0/deploy/compose.yaml
curl -fsSL -o .env https://raw.githubusercontent.com/overfin/server/v0.7.0/deploy/.env.example
# in compose.yaml, change /srv/media to where your films and series are, then:
docker compose up -d

Then open http://<the machine>: the setup wizard asks for the rest. HTTPS, a reverse proxy, your own Jellyfin or identity provider: see Running it.

Where it stands

Overfin is young: it started in October 2026, and its releases are early pre-releases (0.x).

Try it, read it, build on it; don't make something you depend on rely on it yet.

Built with AI

Said plainly: Overfin is written by Claude (Anthropic's AI): its code, its tests and its documentation. Its maintainer decides what to build and how it should behave, and uses it every day on a real server, but doesn't write the code or review it line by line. What checks the code is what runs before every push (tests, vet, staticcheck, govulncheck) and the written security rules. That isn't an independent review: reviews and reports are very welcome.