Introduction
What is Riven and how does it work?
Riven is a self-hosted media automation system. It discovers content you want, finds streams through debrid services, and serves them through a virtual file system (VFS) to your media server (Plex, Jellyfin, or Emby).
How It Works
- Content Discovery - Plugins like Seerr, MDBList, or Listrr tell Riven what media you want
- Indexing - TMDB/TVDB plugins fetch metadata for requested items
- Scraping - Torrentio, Comet, or StremThru plugins find available torrents
- Downloading - StremThru caches torrents on your debrid service (Real-Debrid, AllDebrid, etc.)
- VFS - A FUSE virtual file system mounts the debrid content as local files
- Library Update - Your media server (Plex/Jellyfin/Emby) picks up the new files
All of this happens automatically. You request a movie or show, and it appears in your media server.
Key Features
- Plugin Architecture - Modular and extensible. Every integration is a plugin.
- Virtual File System - No symlinks or file copies. Clean FUSE mount.
- GraphQL API - Powerful API for querying and managing your library.
- State Machines - XState-powered workflows for reliable media processing.
- Job Queue - BullMQ with Redis for async, resilient processing.