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.

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.














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:latestDocker 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: 5sPut 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.