Skip to main content

Documentation Index

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

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

Every integration in Riven — content sources, metadata providers, scrapers, downloaders, and media servers — is implemented as a plugin. Plugins are independently versioned packages that hook into the Riven event pipeline. You activate the ones you need by setting a single environment variable, then supply each plugin’s required settings through their own namespaced env vars.

Always-enabled plugins

TVDB and TMDB are always enabled and do not need to be listed in enabledPlugins. Riven cannot index media without metadata providers, so they are loaded automatically on startup.
You only need a TVDB API key (RIVEN_PLUGIN_SETTING__REPO_PLUGIN_TVDB__apiKey) and a TMDB API key (RIVEN_PLUGIN_SETTING__REPO_PLUGIN_TMDB__apiKey) — no entry in enabledPlugins required for either.

Available plugins

TVDB

Fetches TV show and anime metadata from TheTVDB API. Always enabled — no configuration in enabledPlugins needed.

TMDB

Fetches movie and TV metadata from The Movie Database. Always enabled — no configuration in enabledPlugins needed.

Torrentio

Scrapes torrents via the public Torrentio Stremio addon. Zero-auth, ready to use with a single filter string.

Comet

Scrapes torrents via a self-hosted (or public) Comet debrid scraper instance. Queries torrent indexers and checks debrid availability.

StremThru

Caches selected torrents on your debrid provider (Real-Debrid, AllDebrid, TorBox, and more) and returns a direct stream URL.

Plex

Connects to your Plex Media Server to trigger library scans when Riven mounts new content via the FUSE virtual filesystem.

Jellyfin

Connects to your Jellyfin server to trigger library refresh when Riven mounts new content via the FUSE virtual filesystem.

Seerr

Polls Overseerr or Jellyseerr for pending media requests and submits them into Riven’s processing pipeline.

MDBList

Syncs curated MDBList watchlists into Riven so that every item on a list is automatically requested and processed.

Listrr

Syncs Listrr movie and show lists into Riven’s content request queue on a configurable schedule.

Enabling plugins

Add plugin names as a JSON array to the RIVEN_SETTING__enabledPlugins environment variable:
RIVEN_SETTING__enabledPlugins='["torrentio","stremthru","plex","seerr"]'
Plugin names are lowercase and match the package suffix: plugin-torrentiotorrentio, plugin-stremthrustremthru.

Configuring plugin settings

Every plugin setting is exposed as an environment variable using this format:
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_<NAME>__<settingName>=value
<NAME> is the plugin name uppercased (e.g. torrentioTORRENTIO). Setting names are camelCase and are listed on each plugin’s own docs page.
# TMDB API key (always-enabled plugin)
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_TMDB__apiKey="your-tmdb-key"

# StremThru Real-Debrid key
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_STREMTHRU__realdebridApiKey="your-rd-key"

# Seerr URL and API key
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_SEERR__url="http://seerr:5055"
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_SEERR__apiKey="your-seerr-key"
Settings typed as arrays or objects accept JSON values:
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_MDBLIST__lists='["username/list-name","username/another-list"]'

Minimum required setup

A working Riven installation needs at least one plugin from each of these four categories:
1

Content source

Seerr, MDBList, or Listrr — tells Riven which movies and shows you want. Without a content source, nothing enters the pipeline.
2

Scraper

Torrentio or Comet — finds torrent candidates for each requested item. At least one scraper must be enabled.
3

StremThru

StremThru caches the selected torrent on your debrid provider and provides the stream URL that the FUSE VFS mounts.
4

Media server

Plex or Jellyfin — picks up newly mounted files from /mnt/riven and adds them to your library.

Minimal example

# Always-enabled — just provide API keys
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_TVDB__apiKey="your-tvdb-key"
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_TMDB__apiKey="your-tmdb-key"

# Enable four plugins: content source + scraper + downloader + media server
RIVEN_SETTING__enabledPlugins='["seerr","torrentio","stremthru","plex"]'

# Plugin settings
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_SEERR__url="http://overseerr:5055"
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_SEERR__apiKey="your-seerr-key"
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_STREMTHRU__realdebridApiKey="your-rd-key"
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_PLEX__url="http://plex:32400"
RIVEN_PLUGIN_SETTING__REPO_PLUGIN_PLEX__token="your-plex-token"

Build docs developers (and LLMs) love