Menu
← All projects Media · AGPL-3.0-or-later

Nuvio Web

An unofficial web implementation of the Nuvio API, because there isn't one yet. Sign in with your Nuvio account and get your profiles, addons, library and watch progress in a browser tab.

Nuvio Web in a browser: the home screen with a featured title above continue watching
Your Nuvio, in a browser. Profiles, addons, library and a player that streams right in the tab, with nothing to install.

Disclaimer, up front

Nuvio Web hosts no media. Every catalog, all metadata, streams and subtitles come from addons you install and are responsible for (the Stremio addon protocol). The app is a shell around whatever those addons return; it does not endorse, index or verify any of them. Use only addons you have the right to use where you live. Not affiliated with or endorsed by Nuvio.

Showcase

Every screenshot below comes out of the repo, not a design tool. A Playwright run seeds a Showcase profile whose only addon is a static one committed in the repo: six Blender open movies, Creative Commons, streamed from Wikimedia Commons. Nothing copyrighted and nothing torrent-backed ever goes on screen, and a shot that lands on the wrong page fails the run instead of being published. Light or dark follows your system; both are the real thing.

The Nuvio Web home screen, with a hero carousel above continue watchingThe Nuvio Web home screen, with a hero carousel above continue watching
Home A hero carousel, then continue watching, then one row per addon catalog. Which rows, and in what order, is your call in settings.
A movie's detail page with synopsis, cast and ratingA movie's detail page with synopsis, cast and rating
A title Synopsis, cast, IMDb rating and trailer, plus the season and episode carousel when it's a series.
The sources drawer, listing streams with their parsed qualityThe sources drawer, listing streams with their parsed quality
Sources Every stream your addons return, with quality, codec and size parsed out of their labels, and where the title streams legally in your region. Downloads start from here too.
The player streaming a Blender open movieThe player streaming a Blender open movie
The player Streams in the browser with subtitles and intro / outro skipping, casts to a TV, or hands the link off to a native app.
The library, with continue watching and saved titlesThe library, with continue watching and saved titles
Library Library and collections are yours to curate, per profile, and they sync with the mobile app.
Watch stats built from the profile's historyWatch stats built from the profile's history
Stats History and stats come from what you actually watched, not from what you bookmarked.
The settings pageThe settings page
Settings Appearance, playback, sync, addons and integrations, stored on your Nuvio account so they follow you to the next device.

Discover, search, collections, addons, history and the account page are in the full showcase, all of it generated the same way.

Browse

Home

A rotating hero spotlight, continue watching, your library, and a row per catalog your addons expose, in the order you pick.

Discover

The full catalog browser: any catalog from any installed addon, filtered by type and genre, paginated.

Search

Fans out across every addon that serves a search catalog, and remembers recent queries.

Detail pages

Synopsis, cast, IMDb rating, trailer, season and episode carousel, and a JustWatch "where to watch" row for your region.

Command palette

⌘K from anywhere to jump to a screen or start a search.

Watch

Source picker

Quality, codec, size and release details parsed out of each addon's stream label, with an auto-pick that honours your preferred resolution.

HLS & direct playback

hls.js for .m3u8, the element's own src for everything else, with audio-track switching on either.

Subtitles

SRT converted to WebVTT in the browser, so a subtitle file never touches the server. Size, colour, background plate, preferred language.

Skip intro / outro

Via TheIntroDB. The keyless public tier works out of the box; add your own key to raise the limits.

Cast to a TV

No third-party SDK: the standard Remote Playback API for Chromecast, falling back to WebKit's AirPlay hooks in Safari.

Auto-play next

Rolls into the next episode with an end-of-episode panel.

Hand off to another app

An Intent chooser on Android, VLC's x-callback on iOS, the raw magnet: link for a P2P source, or copy to clipboard on desktop.

Playback diagnostics

The codec is probed before a stream reaches the player. One that decodes no video (unsupported HEVC/AV1) or no audio (Dolby Digital, DTS, Atmos) raises a dismissible banner instead of a black screen.

Offline

Installs as an app

Its own window, its code cached on the device, and an offline page instead of a browser error when the network is gone.

Downloads

Direct files and HLS streams, AES-128 included, with up to five subtitle languages. One at a time, resumable after closing the tab, written by a Web Worker to the browser's private file storage. Torrents, live streams and DRM stay online, because they have to.

Watch without a connection

The offline page lists the last profile's finished downloads and plays them with their subtitles. Progress isn't recorded offline: there's no server to record it to.

Library & sync

Library

Your library, continue watching, and history, kept per profile.

Collections

Your own folders of titles, separate from the library.

Two-way sync

The server keeps each profile's library, progress and history and syncs them both ways with your Nuvio account in the background, so the phone and TV apps stay in step. Open tabs stay in step over BroadcastChannel.

Watch stats

A full, editable history under Account.

Make it yours

Profiles

With avatars, as on mobile.

Themes

Light, dark or system, a dim or AMOLED dark style, and seven accent colours.

Settings

Appearance, playback, sync, addons and integrations, stored on your Nuvio account so they follow you between devices.

Accessible by default

Every route is checked against WCAG 2 A/AA in CI (axe), including skip links and focus management.

Run it

Docker run

docker run -p 3000:3000 \
  -v ./data:/app/data \
  orochibraru/nuvio-web:latest

Docker Compose

services:
  nuvio:
    image: orochibraru/nuvio-web:latest
    restart: unless-stopped
    ports:
      - 3000:3000
    volumes:
      # Sessions, and your library / progress / history. Back it up.
      - ./data:/app/data
    environment:
      # Behind a reverse proxy that terminates HTTPS
      PROTOCOL_HEADER: x-forwarded-proto
      HOST_HEADER: x-forwarded-host
    healthcheck:
      test: ["CMD", "curl", "-fsS", "http://localhost:3000/api/health"]
      interval: 30s
      timeout: 30s
      retries: 3
      start_period: 5s

Put it behind a reverse proxy that serves HTTPS, open that address, sign in, pick a profile, and add an addon from Settings → Addons if the account has none yet. Images are published for linux/amd64 and linux/arm64.

Mount the volume. /app/data holds a small SQLite database: signed-in sessions (Nuvio tokens, encrypted) and each profile's library, watch progress and history, synced both ways with your Nuvio account. Without it, a restart signs everyone out and drops any change not yet pushed to Nuvio. Downloads live in each browser, not on the server.

Serve it over HTTPS. On plain HTTP the app renders but nothing saves: every write gets 403 Cross-site remote requests are forbidden. Plain HTTP needs your own image built with --build-arg NUVIO_BUILD_ORIGIN=http://…. The ORIGIN variable from earlier releases does nothing now. See Troubleshooting.

Putting it on the public internet is on you: HTTPS and whatever access control you would give any other self-hosted app.

Questions people ask

Does Nuvio have a web app?

Not an official one for the browser. Nuvio's own NuvioWeb is the TV app for Samsung Tizen and LG webOS. This is an unofficial browser client on the same account, so everything you set up on your phone is already here.

Can I use Nuvio on PC?

Yes, in any browser on Windows, macOS, Linux or a Chromebook. No Android emulator, no BlueStacks. Install it from the address bar if you want its own window.

Do I have to self-host it?

No. There's a hosted instance to try. Run your own with Docker if you'd rather your Nuvio session didn't pass through my server.

Will my addons work?

Any addon on your Nuvio account loads, as long as it is reachable from the internet. One on localhost or a LAN address won't. Addons that don't load, black video and missing audio are all in Troubleshooting.