Cinephage
The AIO solution to your self hosted media gathering needs
Install / Use
/learn @MoldyTaint/CinephageREADME
<p align="center"> <img src="docs/images/dashboard.png" width="400" alt="Dashboard"> <img src="docs/images/discover.png" width="400" alt="Discover"> <br><br> <img src="docs/images/library-movies.png" width="400" alt="Library"> <img src="docs/images/movie-details.png" width="400" alt="Movie Details"> <br><br> <a href="docs/images/">View all screenshots →</a> </p>
What is Cinephage?
Cinephage unifies your entire media workflow into a single, modern application. Instead of running multiple services that don't talk to each other, you get one cohesive platform that handles everything.
One database. All your movies, TV shows, live TV channels, subtitles, and indexer configs live together. No sync issues, no data fragmentation.
One interface. Browse, search, monitor, and manage everything from a single, responsive UI built with Svelte 5.
One configuration. Set up your indexers, download clients, and preferences once. They work across movies, TV, and streaming.
One place. Whether you're downloading a BluRay remux, streaming via .strm files, or watching live TV, it's all in Cinephage.
What It Replaces
Cinephage brings together functionality you'd typically find across multiple applications:
- Radarr & Sonarr — Movie and TV series management
- Prowlarr — Indexer management with supported trackers
- Bazarr — Multi-provider subtitle management
- Overseerr — Content discovery and smart lists
- FlareSolverr — Built-in Cloudflare bypass (no external service needed)
- Plus — Live TV/IPTV management, usenet streaming, and more
The *arr projects are fantastic at what they do. We just took a different path — one unified codebase instead of separate services that need to sync with each other.
Key Features
Stream Without Downloading
Create .strm files that point to online sources and watch instantly. No disk space, no waiting for downloads, no seeding. Works with Jellyfin, Emby, Kodi, or any player that supports .strm files.
Built-in Cloudflare Bypass
Camoufox integration handles Cloudflare challenges automatically. No separate FlareSolverr container to maintain, no configuration headaches. It just works.
Usenet Streaming
Stream directly from NZBs without downloading the entire file first. Unique seekable stream implementation with adaptive prefetching and segment caching.
Live TV with Portal Discovery
Connect Stalker portals and automatically discover working MAC addresses. Full EPG support, channel management, and HLS streaming.
Smart Quality Scoring
50+ scoring factors including codec efficiency (x265/AV1), HDR formats, audio quality, and release group reputation. Custom format creation for personalized scoring rules.
Smart Lists
Dynamic content discovery with auto-add to library. Import from IMDb, Trakt, TMDb lists, or create custom queries. "Automatically add all 2024 movies rated 7.5+" — fully automated.
Everything Else You'd Expect
- File watching and auto-import
- Multi-indexer search with deduplication
- 6 subtitle providers, 80+ languages
- 7 automated monitoring tasks
- Jellyfin/Emby notifications
- TRaSH Guides-compatible naming
Quick Start
Docker (Recommended)
Create a docker-compose.yaml file:
services:
cinephage:
image: ghcr.io/moldytaint/cinephage:latest
container_name: cinephage
restart: unless-stopped
ports:
- '3000:3000'
environment:
- PUID=1000 # Your user ID (run: id -u)
- PGID=1000 # Your group ID (run: id -g)
- TZ=UTC
- ORIGIN=http://localhost:3000
volumes:
- ./config:/config
- /path/to/media:/media # CHANGE THIS
- /path/to/downloads:/downloads # CHANGE THIS
Then start it:
docker compose up -d
That's it. Open http://localhost:3000 and follow the setup wizard.
Note: Your data, config, and logs are stored in
./config(automatically created). Never mount/appas it contains application code.Upgrading from older versions? See Migration Guide if you previously used
/app/dataand/app/logsmounts.
Requirements
- TMDB API Key: Free at themoviedb.org/settings/api
- Download Client (optional): qBittorrent, SABnzbd, NZBGet, or NZBMount
- Or use streaming mode — no download client needed
- Optional: ffprobe for media info extraction
Documentation
Comprehensive documentation is available in the docs/ folder:
- Getting Started — Installation and first setup
- Features — Detailed feature guides
- Configuration — Setup all integrations
- Operations — Deployment and maintenance
- Development — Contributing guidelines
Community
- Discord — Chat and support
- GitHub Issues — Bug reports and feature requests
- Contributing — Development guidelines
Contributors
Thanks to everyone who has contributed to Cinephage!
<a href="https://github.com/MoldyTaint/Cinephage/graphs/contributors"> <img src="https://contrib.rocks/image?repo=MoldyTaint/Cinephage&max=100&columns=10" alt="Contributors" /> </a>Acknowledgments
Cinephage draws inspiration from the excellent Radarr, Sonarr, Prowlarr, and Bazarr projects, with UI patterns influenced by Overseerr. Quality scoring data comes from Dictionarry. Metadata powered by TMDB.
See THIRD-PARTY-NOTICES.md for complete attribution.
AI Disclosure
This project was built with AI assistance. As a solo developer learning as I go, AI helps bridge the gap between ambition and experience. We believe in being upfront about how this is built.
Legal Notice
Cinephage is a media management tool. It does not host, store, or distribute any media content. All content comes from external sources you configure. Live TV/IPTV functionality depends entirely on third-party services.
License
Related Skills
node-connect
332.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
81.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
332.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
81.7kCommit, push, and open a PR
