Self-hosted media management. Everything in one app.
Cinephage — from Greek cine (film) + phage (to devour). A film devourer.
Cinephage takes a unified approach to media management. Movies, TV shows, indexers, subtitles, streaming, and live TV — all from a single interface backed by one database. Search, grab, organize, stream, and watch. One app, one place.
Caution
This project is under active development. Features may be incomplete, APIs may change, and bugs are expected. This is a passion project by a solo developer — your patience and feedback are appreciated. Please report issues on GitHub, but understand that breaking changes may occur between updates.
| 7 built-in indexers | + Newznab support for usenet indexers |
| 8 subtitle providers | 80+ languages with auto-download |
| 10 streaming providers | Built-in streaming indexer + circuit breaker failover |
| 3 download clients | qBittorrent, SABnzbd, NZBGet |
| Live TV / IPTV | Stalker portals: bring your own account or discover via scanner |
| 7 monitoring tasks | Automated searches, upgrades, new episodes |
| 1 database | Everything unified, zero fragmentation |
| Feature | Status | Notes |
|---|---|---|
| Content Discovery | Stable | TMDB integration, trending, search |
| Library Management | Stable | File watching, scanning, TMDB matching |
| Quality Scoring | Stable | 4 built-in profiles + custom profile creation |
| Download Clients | Stable | qBittorrent, SABnzbd, NZBGet |
| Indexers | Stable | 7 built-in + Newznab for usenet |
| Subtitles | Stable | 8 providers, 80+ languages |
| Streaming | Stable | 10 providers with circuit breaker failover |
| Smart Lists | Stable | Dynamic TMDB queries with auto-add to library |
| Monitoring | Experimental | Automated searches, upgrades, new episode detection |
| Notifications | Stable | Jellyfin/Emby library update integration |
| Live TV/IPTV | Experimental | Stalker portals: bring your own or discover accounts, EPG |
Using Pre-built Image:
mkdir cinephage && cd cinephage
curl -O https://raw.githubusercontent.com/MoldyTaint/cinephage/main/docker-compose.yaml
curl -O https://raw.githubusercontent.com/MoldyTaint/cinephage/main/.env.example
cp .env.example .envEdit .env to configure your settings:
CINEPHAGE_PORT=3000
CINEPHAGE_MEDIA_PATH=/path/to/your/media
CINEPHAGE_UID=1000
CINEPHAGE_GID=1000
CINEPHAGE_ORIGIN=http://localhost:3000Start Cinephage:
docker compose up -dUsing Docker Run:
docker run -d \
--name cinephage \
--restart unless-stopped \
--user 1000:1000 \
-p 3000:3000 \
-v ./data:/app/data \
-v ./logs:/app/logs \
-v /path/to/your/media:/media \
-e ORIGIN=http://localhost:3000 \
-e TZ=UTC \
ghcr.io/moldytaint/cinephage:latestBuilding from Source:
git clone https://github.com/MoldyTaint/cinephage.git
cd cinephage
cp .env.docker.example .env
docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --buildgit clone https://github.com/MoldyTaint/cinephage.git
cd cinephage
npm install
npm run build
npm startOpen http://localhost:3000 and configure:
- Add your TMDB API key (free at themoviedb.org)
- Configure your download client (qBittorrent, SABnzbd, or NZBGet)
- Set up root folders for movies and TV
- Enable indexers
See Setup Wizard for detailed configuration.
- Download Client — qBittorrent, SABnzbd, or NZBGet
- TMDB API key (free)
- Node.js 20+ (manual install only)
- ffprobe (optional, for media info extraction)
- Content Discovery — Browse TMDB for movies and TV shows, view trending, trailers, and watch providers
- Library Management — Real-time file watching, scheduled scans, auto-match to TMDB metadata
- Indexer Search — 7 built-in indexers plus Newznab for usenet, Cloudflare bypass, rate limiting
- Quality Scoring — 4 built-in profiles with 50+ scoring factors, custom profile creation
- Download Automation — qBittorrent, SABnzbd, and NZBGet integration with categories and auto-import
- Streaming — Built-in streaming indexer, 10 providers with circuit breaker failover, .strm file generation
- Subtitles — 8 providers, 80+ languages, language profiles, auto-search on import
- Monitoring — 7 automated tasks for missing content, quality upgrades, and new episodes
- Smart Lists — Dynamic TMDB queries (trending, genres, ratings) with auto-add to library
- Notifications — Jellyfin/Emby library update integration
- Live TV — Stalker portal support: bring your own account or discover accounts via portal scanner, plus EPG and channel management (experimental, limited support)
See Documentation for full details.
Frontend: SvelteKit 5, Svelte 5, TailwindCSS 4, DaisyUI 5 Backend: Node.js, SQLite, Drizzle ORM
npm run dev # Start dev server
npm run build # Build for production
npm run check # TypeScript checking
npm run lint # ESLint + Prettier
npm run test # Run testsSee CONTRIBUTING.md for development guidelines.
- Discord — Chat and support
- GitHub Issues — Bug reports and feature requests
- Contributing — Development guidelines
- Code of Conduct — Community standards
- Security Policy — Vulnerability reporting
Cinephage draws inspiration from the architecture of Radarr, Sonarr, Prowlarr, and Bazarr, with modern UI patterns influenced by Overseerr. Thanks to Dictionarry for quality scoring data, EncDec Endpoints for streaming functionality, and FlareSolverr for Cloudflare handling. Uses TMDB for metadata. See THIRD-PARTY-NOTICES.md for complete attribution.
This project was built with and continues to use AI assistance. As a solo developer who's still learning, AI makes it possible to tackle a project of this scope — something that would otherwise require a team. It's a personal project, and AI is a tool that helps bridge the gap between ambition and experience. It's not perfect, but neither am I. We believe in being upfront about how this project is built.
Cinephage is a media management and aggregation tool. It does not host, store, or distribute any media content. Cinephage simply helps you organize your existing library and search external indexers and sources that you configure. What you do with this software is your responsibility.
Live TV / IPTV: Cinephage can discover and integrate with Stalker portals, but does not host or control any IPTV content. All streams come from external services. Support for this feature is limited as functionality depends entirely on third-party services outside our control.
GNU General Public License v3.0
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

