Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/rivenmedia/riven/llms.txt

Use this file to discover all available pages before exploring further.

Riven is a self-hosted media automation system that takes a request from a content source — Overseerr, Trakt, Plex Watchlist, MDBList, or Listrr — and handles everything else: scraping torrent indexers, ranking results, downloading through a debrid service, and surfacing the content inside your media server through a FUSE virtual filesystem. No local storage of video files is ever required; the media lives on the debrid provider’s infrastructure and is streamed on demand through RivenVFS.

Quickstart

Deploy Riven with Docker Compose and start streaming in under 10 minutes.

Configuration Overview

Learn every setting — debrid keys, scrapers, content sources, and ranking.

Architecture

Understand how content flows from watchlist to media server through RivenVFS.

API Reference

Explore the full FastAPI-powered REST API served at /api/v1.

How Riven works

Riven operates as an automated pipeline with four distinct stages. Each stage is independently configurable, so you can mix and match the services that fit your setup.
Content Sources → Scraping → Debrid Download → RivenVFS → Media Server
1. Content sources — Riven polls one or more content services for new requests. When a user adds something to their Overseerr request queue or Plex Watchlist, Riven picks it up automatically. 2. Scraping — Riven queries your enabled scraper services (Torrentio, Comet, Jackett, and others) for torrent candidates matching the requested title. Returned results are scored with an intelligent ranking engine so the best available release is always selected first. 3. Debrid downloading — The winning torrent hash is sent to your debrid provider (Real-Debrid or AllDebrid). The debrid service downloads and caches the file on their servers; Riven never pulls raw torrent data to your host. 4. RivenVFS + media server — RivenVFS mounts a FUSE filesystem at /mount that exposes the debrid-cached files as regular directories. Your media server (Plex, Jellyfin, or Emby) reads from /mount exactly as it would from a local drive — no special plugins needed.

Key features

  • Zero local storage — video data is never written to your host disk; RivenVFS streams directly from the debrid CDN.
  • FUSE virtual filesystem — RivenVFS handles chunked pre-fetch, an on-disk LRU/TTL cache, and multi-user scheduling so playback remains smooth even under concurrent access.
  • Intelligent torrent ranking — every scraper result is scored against a configurable ranking model (via RTN) that considers resolution, codec, HDR, audio track, release group, and more.
  • Library profiles — create virtual sub-libraries (e.g. /kids, /4k) that filter content by genre, rating, network, content rating, and other metadata fields.
  • Customisable VFS naming templates — control exactly how movie directories, show directories, season folders, and episode filenames appear in the VFS.
  • Full REST API — every Riven function is accessible via a versioned FastAPI backend at /api/v1, documented with an interactive Scalar UI at /scalar.

Supported services

TypeSupported services
DebridReal-Debrid, AllDebrid
ContentPlex Watchlist, Overseerr, MDBList, Listrr, Trakt
ScrapersTorrentio, Comet, Jackett, Orionoid, Mediafusion, Prowlarr, Zilean, Rarbg
Media serversPlex, Jellyfin, Emby
More services are added regularly. Check the project board to see what is coming next, or open a feature request on GitHub.

Required Plex library sections

If you use Plex as your media server, you must create library sections with exactly these categories:
Library typeRequired category names
Moviesmovies, anime_movies
Showsshows, anime_shows

Community and license

Riven is open-source software released under the GNU GPL v3.0 license.

Build docs developers (and LLMs) love