Skip to content

janpuc/browserr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Browserr

CI Release Deploy demo License: MIT ghcr.io Installs

A self-hosted, Netflix-style discovery front-end for your media stack.

A keyless, read-only tour running on static fixtures - no TMDB key, no database, no requests.

Browserr turns "what can I watch?" into a cinematic browse experience - rotating hero billboards, genre and per-service rails, and "Because you watched…" recommendations across every streaming service available in your region. When you find something you don't have yet, it hands off to Seerr for live "what's in my library" status and one-click requests.

The name follows the *arr/Seerr convention: a browser for everything you can stream.

Screenshots

Try the live demo, or regenerate these locally with npm run build:demo && npm run screenshots.

Browserr home

Title detail Settings
Detail modal Settings

Features

  • Netflix-style home - a full-bleed rotating hero, lazy horizontally-scrolling rails, and a rich detail view with trailer, cast, seasons, and where-to-watch.
  • Region & service aware - only ever shows streaming services TMDB lists for your region. Change region and the whole catalog and service list re-derive.
  • Seerr integration - every title shows live library availability; request via redirect (open Seerr) or proxy (submit on your behalf).
  • Self-learning recommendations - a taste profile that seeds from your library and shifts as you browse, with "Because you watched X" rails and a "Why am I seeing this?" explainer.
  • Configure however you like - env vars seed defaults; the in-app Settings screen overrides them. No secrets or internal URLs ever reach the browser.
  • One Docker image - drops into an existing *arr/Seerr stack via docker-compose.
  • Accessible & responsive - keyboard/remote navigable, reduced-motion honored, dark-first theming. Works desktop -> tablet -> mobile -> 10-foot TV.

Quick start

With Docker Compose (recommended)

cp .env.example .env
# edit .env: add TMDB_API_KEY, SEERR_API_KEY, SEERR_EXTERNAL_URL, DEFAULT_REGION…
docker compose up -d

Open http://localhost:3000. The bundled docker-compose.yml also starts Seerr and wires Browserr to it on the Docker network (SEERR_INTERNAL_URL=http://seerr:5055).

Prefer the prebuilt multi-arch image over building locally:

# docker-compose.yml
services:
  browserr:
    image: ghcr.io/janpuc/browserr:latest   # or pin a release, e.g. :1.0.0  (:edge = latest main)

You only need a TMDB API key to start browsing. Seerr is optional - without it the catalog still browses and availability badges show "Unknown".

Run from source

npm install
cp .env.example .env      # at minimum set TMDB_API_KEY
npm run dev               # http://localhost:3000

Configuration

Precedence (lowest -> highest): built-in defaults -> environment variables -> GUI settings. The in-app Settings screen edits connections, region, services, feature toggles, and appearance; set LOCK_CONFIG=true to freeze everything to env and make the GUI read-only.

⚠️ Seerr uses a separate internal URL for server-to-server calls and external URL for browser redirects. The internal URL never reaches the client.

The full environment-variable reference lives in docs/CONFIGURATION.md.

Documentation

  • Configuration - every env var, the Seerr internal/external split, and how region & service selection works.
  • Architecture - the stack, source layout, BFF API, recommendations engine, and security model.
  • Releasing - the hands-off release pipeline and image tags.
  • Contributing - local setup, branch model, and the test gate.

Contributing

PRs welcome! The gate is npm run typecheck + npm test + npm run build. See CONTRIBUTING.md. Please report security issues privately via a security advisory.

Star history

Star history chart

License

MIT © Jan Puciłowski.

About

A self-hosted, Netflix-style discovery front-end for your media stack.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors