A premium, production-ready video streaming platform built with React, Node.js, and FFmpeg. Features HLS adaptive streaming, secure JWT authentication, and a tiered subscription system.
- Node.js: v18 or later
- MongoDB: Running locally on port
27017 - FFmpeg: Installed on your system (optional, as
ffmpeg-staticis bundled)
Run the following command in the root directory to install all dependencies for both frontend and backend:
npm run install:allInitialize the database with the admin user and default subscription plans:
npm run seedStart both the client and server concurrently with a single command:
npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
Default Admin Login:
- Email:
admin@example.com - Password:
Admin@123
- HLS Streaming: Videos are converted to
.m3u8playlists and.tssegments. - Security: Routes are protected by JWT. Streaming routes check for active subscriptions.
- Database: MongoDB tracks users, metadata, and watch history.
- Storage: All media stays local (no S3/CDN required).
Build and run the entire stack using Docker:
docker-compose up --buildCreated with ❤️ for self-hosters.