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.

