The Problem
Waiting for full torrent downloads before watching is a poor experience. SeedBox Lite solves this by streaming video content as it downloads, giving users a Netflix-like interface over torrent sources. It targets self-hosters who want a lightweight alternative to heavier media stacks like Plex or Jellyfin without the transcoding overhead.
What This Does
SeedBox Lite is a React + Express application that bridges torrent clients and a browser-based video player. The client/ folder holds the React frontend (Vite-based, entry at client/src/App.jsx) with a Netflix-style UI—home, search, torrent details, and a video player with mobile-specific fullscreen support. The server/ folder contains the Express backend (server/index.js) with streaming handlers (server/handlers/streamHandler.js) and middleware for request limiting and optimized streaming.
Docker is the primary deployment path: docker-compose.yml orchestrates the client, server, and an nginx reverse proxy (nginx/nginx.conf). The repo also supports PM2 process management via ecosystem.config.js at the root. A notable bridge.js file suggests custom integration logic, though its exact role isn't documented in the README.
How To Use It
Setup: Clone the repo and use Docker Compose. The README documents this as the recommended path.
git clone https://github.com/hotheadhacker/seedbox-lite.git cd seedbox-lite docker-compose up -d open http://localhost:5174
Configuration: Environment variables live in .env.example (root), client/.env.example, and server/.env.docker. You'll need to set credentials for torrent client access and any API keys for search sources. The client/src/config/environment.js file reads these at runtime.
Running it: Docker Compose is the primary entry point. For non-containerized use, install dependencies in server/ and client/, build the frontend, and start with PM2 using the root ecosystem.config.js. The README documents both paths.
Real-World Use
A user deploys this on a home server or VPS to watch Linux ISO torrents (or other legal content) without waiting for full downloads. The workflow: search for a torrent, start it, and stream immediately. The client/src/hooks/useSmartPolling.js handles progress updates efficiently, and the cache management page (client/src/components/CacheManagementPage.jsx) lets users control disk usage. The mobile optimizations—native fullscreen via WebKit APIs and touch gestures—make it viable as a phone-based media center.
Code Health & Issues
High – Secrets committed: .env.production files exist at root, client/, and server/. These likely contain real credentials and should be removed from version control and rotated. Med – No CI/CD: No .github/ directory or pipeline config. There's no automated build or test gate, which increases regression risk. Med – Duplicate/backup files: client/src/App.jsx.backup, server/index.js.backup, and multiple index-*.js variants suggest messy development history. Dead code should be pruned. Low – Minimal test coverage: Only 1 test file exists across the entire repo. Critical paths like streaming and authentication are untested. Low – Version drift: The README claims React 19.1.1, which is unusual and may indicate a fork or custom build. Verify against client/package.json before relying on it.
The Bottom Line
SeedBox Lite is a functional torrent streaming app with a polished UI and solid Docker support. It's a reasonable choice for a hobbyist who wants instant torrent streaming with minimal setup. The committed secrets and lack of CI make it unsuitable for production or team use without remediation. Forked from a popular project (4.5k stars), it carries real feature work but needs cleanup before serious adoption.