mrkeyoor.com_
Tue 01 Sept 17:43 UTC
Webevaluationupdated 29 Aug 2026

stremio-web review

Stremio Web is the official browser interface for discovering and playing video through Stremio catalogs and addons. It puts the project's Rust core into a Web Worker, keeps a user's library and viewing progress in sync, and uses a separate video layer for playback and casting.

+37 / 3dstars / 7d
Verdict

Our Stremio Web run installed 1,083 packages, built in 37 seconds, and passed all 70 tests, so the repository is a credible frontend to develop and package. Use it for Stremio’s addon-based experience in a browser, especially if the official hosted app already matches your needs. Self-hosters should budget for the separate streaming path, browser codec limits, and access control before exposing it beyond a private network.

We ran it

Lab card: what happened when we ran stremio-webScreenshot of stremio-web (web.stremio.com)
Install✓ · 46s1083 packages · 308 MB
Build✓ · 37s
Tests✓ · 23s70 passed · 0 failed of 70 (jest)
Repo662 files~24,081 lines of source · 11.8 MB · 4 CI workflows · Dockerfile · tests dir

Answers from our run

Does stremio-web build from source?

Dependencies installed in 46 seconds (1083 packages), and the build succeeded in 37 seconds. We cloned commit 00a63c1 into a clean Debian container with 3 CPUs and no project-specific setup.

Do stremio-web's tests pass?

Yes: 70 of 70 passed when we ran the project's own test command (jest). Some failures need services or credentials a bare container does not have.

Who should not use stremio-web?

People expecting a complete media server in one container: the README says this repository is the UI, while state lives in stremio-core and playback goes through stremio-video.

What are the alternatives to stremio-web?

Jellyfin Web, Kodi, Plex. Our Stremio Web run installed 1,083 packages, built in 37 seconds, and passed all 70 tests, so the repository is a credible frontend to develop and package.

Setup4/546-second install, clean build, and 70 passing tests
Docs4/5Clear local, Docker, architecture, and command guidance
Community5/512,911 stars with an August push and active issue queue
Maturity4/5Established official client, though v5 remains beta

Who it’s for

Existing Stremio users who want their library, Continue Watching list, addons, and player in a browser or installable PWA.
Frontend developers contributing to Stremio’s React interface, keyboard player, subtitles, casting, or translations.
Operators willing to build the supplied Dockerfile and handle the separate streaming-service and network details themselves.
Teams that want an addon-driven media client rather than a server for organizing files they own.

Who it’s NOT for

People expecting a complete media server in one container: the README says this repository is the UI, while state lives in stremio-core and playback goes through stremio-video.
Self-hosters who need built-in protection for a remotely exposed streaming service: issue 627 reports missing support for forwarding the authentication details its reverse-proxy setup requires.
Viewers whose files depend on browser-unsupported audio or video paths: open issue 676 reports no Dolby Atmos support in Stremio Web, while the native Windows app behaves differently.
Users who need editable keyboard bindings: issue 1332 says the shortcut screen is read-only and requests remapping for alternate layouts and accessibility.
Administrators who only deploy vendor-published images: issue 586 requests an official Docker Hub image, while the README currently tells users to build the Dockerfile.

Setup reality

Our sandbox installed 1,083 pnpm packages in 46 seconds and used 308 MB on disk. The production build passed in 37 seconds. Jest then passed all 70 tests in 23 seconds, with 0 failures.

Development requires Node.js 22 or newer and pnpm 11 or newer. The basic UI starts on port 8080, but real use connects the browser, Stremio account and APIs, addons, the WebAssembly core, and the environment-specific video implementation.

The repository has a Dockerfile, 4 CI workflow files, a tests directory, and monorepo workspaces. Remote self-hosting still needs deliberate routing and access control; open issues describe CORS and reverse-proxy authentication constraints around a separate streaming service.

The browser gets 3 Stremio layers rather than a standalone server

Stremio Web is the official React interface, while stremio-core handles state and addon logic as Rust compiled to WebAssembly in a Web Worker. Playback is delegated again to stremio-video, which selects an implementation for the current environment. That split keeps the interface repository focused, but it changes what self-hosting means. Building this code gives you the web client. It does not create a single private service containing every account, catalog, stream, and playback function.

Catalogs come from addons, the Stremio account syncs the library and Continue Watching state, and the player handles subtitles, keyboard control, and Chromecast. The README advertises more than 50 interface languages through a separate translation repository. It can also install as a PWA. Existing Stremio users get a browser entry point without learning a different library model.

The 46-second install led to a clean build and test run

Our run cloned commit 00a63c1 into an unprivileged Debian container with 3 CPUs and 8 GB of RAM. Pnpm installed 1,083 packages in 46 seconds and occupied 308 MB on disk. The production build completed in 37 seconds. Jest finished 70 tests in 23 seconds, and all 70 passed. Those numbers make the repository easy to trial by the standards of a media client with a WebAssembly core and several internal packages.

The checkout itself contained 662 files, about 24,081 lines of source, and 11.8 MB before installation. Our scan found 4 CI workflow files, a Dockerfile, a tests directory, and monorepo workspaces. It does not measure stream startup, browser compatibility, casting reliability, subtitle accuracy, or memory use during a movie. Those depend on content, addons, network conditions, browser APIs, and the selected player path.

What happened when we ran it

Our sandbox install succeeded in 46 seconds, adding 1,083 packages and using 308 MB. The build then succeeded in 37 seconds. The 23-second Jest run reported 70 passed and 0 failed out of 70. Nothing in the supplied lab result showed an install error, compiler failure, or broken test at commit 00a63c1.

The result covers repository mechanics on Node.js 22, not an end-to-end viewing session. The sandbox had no secrets and did not report a playback benchmark. We cannot turn the passing 70-test suite into a claim about every codec, stream source, television, or browser. Stremio's architecture diagram explains why: the UI, WebAssembly core, APIs, addons, and video layer all participate after the static frontend has built.

Node.js 22 and pnpm 11 are the documented floor

Local setup is short for contributors. The README requires Node.js 22 or newer and pnpm 11 or newer, then uses pnpm install and pnpm start. The development server listens on port 8080. Separate commands cover production-mode development, the production bundle, Jest, ESLint, and translation-key scanning. The root package pins React 18.3.1 and identifies itself as v5.0.0-beta.39.

The Dockerfile builds on Node 22 Alpine, installs with the frozen lockfile, compiles the app, and copies the output into a smaller serving stage with Express 4. It exposes port 8080. This is useful source material for operators who want a reproducible image from the current tree. It is still a build-it-yourself route. Open issue 586 asks the project to publish an official Docker Hub image, so administrators who require vendor-built artifacts do not have that option today.

Remote self-hosting lacks a simple access-control story

The frontend container is only one side of a remote deployment. Issue 252 describes a CORS failure when pairing Stremio Web with a Dockerized streaming server. Issue 627 reports a harder security constraint: the client did not send the cookies or basic-auth details needed by the reporter's reverse proxy, and it removed a path component from the configured service URL. The reporter concluded that VPN-only access was the workable secure route for that setup.

Those reports are configuration-specific, and neither proves every reverse proxy will fail. They do show why the README's 2-command Docker example should not be read as a complete internet-facing design. Before deployment, test the exact browser origin, service URL, TLS boundary, authentication method, and stream requests. A static frontend behind a password does not protect a separate streaming endpoint if the client cannot present the credentials that endpoint expects.

Browser playback differs from the native app

Stremio Web uses the player available to its environment, so browser capabilities become product limits. Open issue 676 says Dolby Atmos works differently in the older native Windows client and is absent from the web client for the reporter. Issue 1299 requests a forced stereo downmix for malformed multichannel files, with an external player as the current workaround. These are concrete reasons to keep the native app or VLC available for difficult sources.

Input is similarly polished but fixed. The README calls the player keyboard-first, and the source centralizes actions and default combinations. Issue 1332 explains that the settings page displays shortcuts without letting users change them. That affects non-US layouts, conflicts with browser commands, and accessibility setups that need easier keys. Contributors have a clear place to work; users do not yet have a remapping switch.

August activity supports trying the v5 beta

GitHub recorded 12,911 stars, a last push on August 29, 2026, and 73 combined open issues and pull requests. Separate searches found 61 open issues and 12 open pull requests. The latest release, v5.0.0-beta.39, arrived on July 27 with casting work, player fixes, translation updates, keyboard behavior changes, and documentation updates. The beta label remains meaningful even though development is active.

Stremio Web is the sensible choice when you want Stremio itself in a browser. Our clean 46-second install and 70 passing tests make source work approachable, and the GPL-2.0 license is explicit. For a private collection with a server you fully control, Jellyfin is the closer fit. For demanding local playback, Kodi avoids many browser constraints. The right choice turns on where your media model lives: Stremio addons, your own server, or a native player.

Alternatives

ProjectWhat it isPick it when
Jellyfin Web gh↗The browser client for Jellyfin’s self-hosted personal media server.pick this instead when your own media library and server administration matter more than Stremio’s addon catalogs.
KodiA mature native media center with a large addon system and broad local playback support.pick this instead when a television or desktop app and native codec handling matter more than browser access.
PlexA hosted-account media ecosystem centered on running a server for your own collection.pick this instead when polished server-managed libraries and broad device apps outweigh an open-source web client.

What people are saying

  1. [github-trending] Stremio/stremio-web

Sources

  1. Stremio Web README
  2. Stremio Web repository facts
  3. Stremio Web v5.0.0-beta.39 release
  4. Issue 627: remote service access control
  5. Issue 676: Dolby Atmos in the web client
  6. Issue 1332: keyboard shortcut remapping

More web reviews

axios · super-productivity · Graphite · fastify · tabler · go-zero · the whole board →