Features

Everything in one place.
Nothing duplicated.

Nexus does not replace Jellyfin, Plex, Calibre, or the rest of your stack — it sits on top and gives you one homepage, one search, one player, one set of stats across everything.

12+ services integrated
6 media categories
1 login, one interface
AGPL-3.0 open source

Every type of media,
one place to find it

Movies & TV

Unified video library across Jellyfin and Plex. Browse, play, and pick up where you left off on any device.

Music

Persistent music player that follows you across every page. Queue, playlists, and mini-player overlay while you browse.

Books

Calibre-Web integration over OPDS. Browse, read EPUBs / PDFs in-browser, sync progress across devices.

Games

Your RomM library with platform browsing, cover art, and in-browser emulation via EmulatorJS.

Live TV

Live IPTV / tuner playback with EPG guides. Watch channels inside the same interface as the rest of your library.

Videos

Privacy-respecting YouTube through Invidious, with a proxied transcode pipe that strips tracking before playback.

A player for everything,
not a menu of players

Adaptive HLS

Single player for Jellyfin + Plex with adaptive bitrate, seamless quality switching, and a Rust byte-pipe that strips auth tokens before the browser sees them.

Subtitle intelligence

Bazarr surfaces availability, history, and missing tracks per item. External subtitles inject as WebVTT <track>; burn-in fallback when native fails.

In-browser reader

Full EPUB and PDF reader built in. Reading progress, bookmarks, highlights — all sync to your Calibre-Web library.

In-browser emulation

Launch RomM titles in-browser via EmulatorJS. NES, SNES, Genesis, Game Boy, N64, PSX — no extra client to install.

Features no single service
can do alone

Unified search

One query across every connected service. Match movies, shows, music, books, games in a single result set; filter by type or request what is missing.

Continue anywhere

Resume playback carries across service boundaries. Watched the first half of an episode on Jellyfin? Finish it on Plex — Nexus tracks progress per-item, not per-service.

Recommendations

Personalized suggestions powered by your actual watch history — not an algorithm you do not control. Feeds your homepage and the "For you" rail.

Wrapped + analytics

Yearly recaps across everything you watched, read, and played. Per-device, per-session breakdowns. Your data, hosted on your box.

Built for
more than one user

Per-user accounts

Each user links their own service credentials. Private libraries, private recommendations, private stats. Admin controls for provisioning and approvals.

Media requests

Overseerr + Seerr integration for request-and-approve flows. Users submit, admins approve or deny from a unified queue with status tracking.

Collections & sharing

Share items and collections with friends. Activity feed surfaces what people you follow are watching, reading, playing.

Pending approvals

Admin gate for new accounts when you open Nexus up to friends. Force-password-reset on first login, per-user pause, and forced logout.

Boring, honest
operator experience

Adapter architecture

New services are one file, one line of registry code. Shared contract handles search, browse, negotiate, play, subtitles. Community adapters do not have to modify core.

Docker-native

Multi-arch image (linux/amd64 + linux/arm64) on GHCR. Single-container deployment with an embedded Rust stream-proxy. Run on a Pi, run on a server, run anywhere.

Env-managed config

Everything lives in env vars: encryption key, trusted proxy CIDRs, cache tuning, subtitle caps, rate-limit mode. Twelve-factor friendly.

Built-in bug reporter

Cmd+Shift+B from any page opens a prefilled GitHub issue — URL, browser, build version, and any JS error auto-attached. Opt out with one env var.

Run one interface over every media service you already own.