A streaming media server with native mobile and TV apps. mediastorm supports:
- Usenet
- Real Debrid/Torbox/AllDebrid
Scraping supports:
- Torrentio
- Jackett
- AIOStreams
- Zilean
- Newznab indexers
Discord: https://discord.gg/kT74mwf4bu
mediastorm requires both a backend server and a frontend app. The frontend app on its own does nothing - it needs a running backend to connect to.
Deploy the backend using Docker Compose (or use the example in the repo):
- Create a
docker-compose.yml:
services:
mediastorm:
image: godver3/mediastorm:latest
container_name: mediastorm
ports:
- "7777:7777"
volumes:
- /path/to/your/cache:/root/cache
environment:
- TZ=UTC
restart: unless-stoppedThe cache folder will contain user settings and stream metadata.
- Start the container:
docker-compose up -dThe backend will be available at http://localhost:7777. The default login is admin/admin for both the frontend app and the admin web UI.
⚠️ Security Notice: mediastorm is not designed to be directly exposed to the internet. For safe remote access, use a VPN or overlay network like Tailscale to keep your server private while still accessible from your devices.
The frontend is built with React Native and supports iOS, tvOS, Android, and Android TV.
Available on TestFlight:
- iOS: Join TestFlight
- tvOS: Join TestFlight
Updates: Incremental updates are delivered automatically via OTA. Larger updates require updating through TestFlight.
Download the latest APK: Releases
Updates: Incremental updates are delivered automatically via OTA. Larger updates require manually downloading the new APK from GitHub Releases or using Downloader (code listed with each release).
Access the admin panel at http://localhost:7777/admin to configure all settings.
mediastorm requires API keys from TMDB and TVDB for metadata (posters, descriptions, cast info, etc.):
| Service | Required | Purpose | Get Your Key |
|---|---|---|---|
| TMDB | ✅ Yes | Movie/TV metadata, posters, cast | themoviedb.org/settings/api (free account) |
| TVDB | ✅ Yes | TV show metadata, episode info | thetvdb.com/api-information (free account) |
| MDBList | ❌ Optional | Ratings from multiple sources (IMDb, RT, etc.) | mdblist.com/preferences (free account) |
| Gemini | ❌ Optional | AI-powered personalized recommendations | aistudio.google.com/apikey (free tier) |
Enter these keys in the admin panel under Settings → Metadata.
mediastorm can use Google's Gemini AI to generate personalized "Recommended For You" lists based on your watch history and watchlist. This is entirely optional — without a key, mediastorm still provides TMDB-based "Because you watched..." recommendations.
Setup:
- Go to Google AI Studio and sign in with a Google account
- Click Create API Key and copy it
- In the mediastorm admin panel, go to Settings → Metadata and paste the key into the Gemini API Key field
- Save — recommendations will appear in the Lists tab under "Recommended For You"
Cost: Gemini 2.0 Flash is used, which has a generous free tier (1,500 requests/day). A typical user generates ~1 request per day (results are cached for 24 hours per user), so this should remain free for personal use.
Thanks to nzbdav and altmount for paving the way with usenet streaming.
Inspired by plex_debrid and Riven.
Special thanks to Parsett (PTT) for media title parsing.
Powered by FFmpeg for media processing and yt-dlp for trailer fetching.
Native playback powered by KSPlayer on iOS/tvOS, ExoPlayer and MPV on Android/Android TV.
MIT
