title: Telegram Stremio emoji: 🎬 colorFrom: blue colorTo: purple sdk: docker app_port: 8000 pinned: false
A powerful, self-hosted Telegram Stremio Media Server built with FastAPI, MongoDB, and PyroFork — turn your Telegram channels into a private streaming library you watch in Stremio / Nuvio.
🧭 Contents
- 🚀 What is this?
- ✨ Key Features
- 🗂️ Organizing Your Channels
- 📤 Adding Files by Forwarding (filename rules)
- 🖐️ Adding Files Manually (Goa trip, lectures, One Piece)
- 💬 Subtitles (filename rules & manual add)
- 📚 Catalogs Explained
- 📡 Special Channels
- 🏷️ Fixing Wrong Metadata
- 🛠️ Managing Your Server (logs, restart, update)
- 💳 Subscriptions & Access
- 🔧 First-Time Setup (config.env)
- 🎛️ Web Settings Page (every option explained)
- 🚀 Deployment
- 📺 Watch in Nuvio / Stremio
- 🏅 Contributors
🚀 What is this?
This is a self-hosted media server that streams your Telegram files straight into Stremio (or Nuvio). You forward a movie/episode to your channel, and it instantly becomes a permanent, no-expiry streaming link — with posters, descriptions, seasons and episodes, just like a real streaming app.
Everything is managed from a friendly web panel — no coding, and almost no bot commands.
📱 Don't have a server? Use the TeleStremio Android app
No VPS, no Docker, no MongoDB — TeleStremio runs this whole idea on your phone. It logs into your Telegram, hosts a local Stremio addon, and streams your channels on demand.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Get started: install the APK → log in with phone/QR → add your channels → turn the server on → paste the addon URL into Stremio. Want to watch outside your home Wi-Fi? Enable Remote access with Tailscale.
⚖️ App vs. the full self-hosted server
The app is great for personal, single-user use, but it's intentionally lighter than the full server in this repo:
| 📱 TeleStremio App | 🖥️ Self-hosted server | |
|---|---|---|
| Hosting | Your phone, zero setup | VPS / Docker + MongoDB |
| Users | Single user (you) | Multi-user with access tokens |
| Library | On-demand live search | Full indexed database |
| Catalogs | Cinemeta (Popular / Top Rated) | Auto + custom catalogs, requests |
| Access control | — | Subscriptions, tokens, admin panel |
| Extras | — | Analytics, backups, announcements, MediaFlow proxy, RPDB / Fanart |
| Uptime | While the phone is on | 24/7 |
| Remote access | Via Tailscale | Public URL out of the box |
In short: use the app if you just want to watch your own Telegram files without hosting anything; use the full server for multi-user sharing, subscriptions and always-on reliability.
✨ Key Features
- ⚡ Ultra-fast, permanent streaming links (no expiry)
- 🎬 Automatic posters & details from IMDb / TMDb
- 📚 Auto & custom catalogs (organize by language, platform, or your own lists)
- 🔐 Private / exclusive catalogs for premium content
- 💳 Subscriptions & access control built in
- 🧩 Split-file & multi-part playback as one stream (incl.
.zip.001split archives) - 🌀 Anime-aware metadata for anime channels
- 🔍 Global Search across extra channels (now streams split &
.ziparchives too) - 🔐 In-app Telegram login — connect your user session from the Settings page (phone → code → 2FA), no manual session string needed
- 🎚️ Per-user addon settings — each token can pick quality sort order, filter qualities, and hide/reorder catalogs
- 📊 User activity dashboard — see who's online, what's now-playing, plus location, ISP, device/app & VPN
- 📢 New-content announcements with one-tap Stremio / Nuvio deep-link buttons that open the exact title
- 🔎 Search by name, IMDb or TMDB id/link everywhere (manual add, rescan & upload sessions)
- 🏷️ Auto-stamps the IMDb/TMDb link into indexed captions, so forwarding a file again matches instantly
- 🚑 Skip Channel — files that fail to index are set aside with a "what to fix" note
- 🖥️ Full web configuration panel — no restarts for most changes
- 🗄️ Multiple databases & bot tokens for scale and speed
🗂️ Organizing Your Channels (recommended)
You can dump everything into one AUTH channel — but keeping content in separate channels makes your library far easier to manage, back up, and share with helpers. Each of these is added the same way (as an AUTH channel in Settings), and your bot must be an admin in every one.
A clean layout many people use:
| Channel | What goes in it | Note |
|---|---|---|
| 🎬 Movies | Single movies | — |
| 📺 TV Shows | Regular series episodes | — |
| 🌀 Anime | Anime episodes & movies | ✅ tick the Anime box on this channel |
| 🇰🇷 K-Drama | Korean dramas | — |
| 🎞️ Combined TV | Season-pack / multi-episode files (e.g. S01 E01-E13) |
— |
| 🎞️ Combined Anime | Anime batches (e.g. E01-E24) |
✅ tick Anime |
| 🧩 Split Movies | Big movies split into .001/.002 parts |
— |
| 🧩 Split TV | Big episodes split into parts | — |
| 📁 Manual | Personal / hand-added files | set as your Manual channel (not Auth) |
| 📢 Announcements | Auto "new content" posts | set as your Announcement channel |
| 🚑 Skip | Files that failed to index (for review/fixing) | set as your Skip channel |
💡 This is just an organizing habit — the app reads each file's name to sort it into the right catalog no matter which channel it came from. Separate channels simply keep your side tidy. Remember: a channel should have only one role (Auth / Manual / Annou





