MovieVerse: Your Self-Hosted, Ad-Free Streaming Haven Just Dropped, and Stremio Alternative
Tired of constant ads, subscription fatigue, and losing your watch history every time you switch devices? Meet MovieVerse, an open-source, self-hosted streaming platform that puts you back in control.
Built with Next.js 14, NextUI, and powered by the TMDB API, MovieVerse delivers a sleek, modern interface with buttery-smooth performance. Whether you're bingeing the latest series or revisiting a classic film, this platform streams both subbed and dubbed content without a single ad break.
But here’s the best part: you own it.
You can check the demo here.
Selfhosted Stremio Alternative
MovieVerse is 100% self-hosted, no third-party tracking, no surprise shutdowns, no limits. Just deploy it on your server, connect your Firebase and MongoDB, and enjoy your personal Netflix-like experience, forever.

Key Features
- Smart search with filters to find exactly what you’re craving
- Stream episodes seamlessly, with progress tracking synced across devices
- Leave comments, rate episodes, and geek out with your household (or just yourself)
- Sign in with Google (easy setup, minimal friction)
- Full sync integration, pick up right where you left off, on any device
-
Keep Watching: Resume episodes from where you left off with local tracking. -
Track Your Favorites: Organize your Movies/TV into Completed, Dropped, Planning, and more. -
Episode Tracking: Mark episodes you've watched and pick up where you left off. -
Effortless Search: Quickly search for any Movies/TV with ease. -
Modern Video Player: Enjoy a sleek and up-to-date video player experience. -
Fully Responsive: Access and enjoy your content on all devices.
Backed by Redis for blazing-fast performance and Firebase for real-time sync, MovieVerse isn’t just a media player, it’s your personal streaming ecosystem.

Config
## TMDB API
**TMDB_API_KEY**=`your_tmdb_api_key_here`
## Next.js Application
**NEXT_PUBLIC_URL**=`http://localhost:3000`
## Encryption Key
**NEXT_PUBLIC_ENCRYPTION_KEY**=`run this command in your terminal (openssl rand -base64 32)`
## Firebase Configuration
- **apiKey**=`Your Firebase Api Key`
- **authDomain**=`Your Firebase authDomain`
- **projectId**=`Your Firebase projectId`
- **storageBucket**=`Your Firebase storageBucket`
- **messagingSenderId**=`Your Firebase messagingSenderId`
- **appId**=`Your Firebase appId`
- **measurementId**=`Your Firebase measurementId`

