Intermediate 1-2 hours Docker required

Riven: The Modern Debrid Media Manager

An all-in-one solution that replaces plex_debrid, handles scraping, and provides a beautiful web UI. The future of Plex + Debrid integration.

What is Riven?

Riven is a modern, all-in-one media management solution for Debrid-based streaming. It replaces multiple tools (plex_debrid, custom scrapers) with a single application featuring a beautiful web interface.

Key Features

  • • Modern web UI for management
  • • Automated content scraping
  • • Multi-debrid support (RD, AD, PM, TB)
  • • Plex & Jellyfin integration
  • • Trakt and Overseerr support
  • • Symlink management

What Riven Replaces

  • • plex_debrid (watchlist monitoring)
  • • Manual scraper configuration
  • • Complex automation scripts
  • • Multiple separate tools

Note: Riven is actively developed and improving rapidly. Check the GitHub repo for the latest features and updates.

What you'll need

  • Linux server or VPS — Ubuntu 22.04+ recommended
  • Docker & Docker Compose — For running containers
  • Debrid account — Real-Debrid, AllDebrid, Premiumize, or TorBox
  • Plex or Jellyfin — Already installed (or use our Plex guide)
  • Basic terminal knowledge — Comfortable with command line

Step 1: Prerequisites

1.1 Install Docker

If you don't have Docker installed:

# Install Docker
curl -fsSL https://get.docker.com | sh

# Add your user to docker group
sudo usermod -aG docker $USER

# Log out and back in, then verify
docker --version

1.2 Create directory structure

# Create Riven directories
mkdir -p ~/riven/data
mkdir -p ~/riven/symlinks
cd ~/riven

Step 2: Deploy Riven with Docker

2.1 Create docker-compose.yml

Create the Docker Compose file:

# ~/riven/docker-compose.yml
services:
  riven-frontend:
    image: spoked/riven-frontend:latest
    container_name: riven-frontend
    ports:
      - "3000:3000"
    environment:
      - BACKEND_URL=http://riven:8080
      - DIALECT=postgres
      - DATABASE_URL=postgresql://postgres:postgres@riven-db:5432/riven
    depends_on:
      - riven
    restart: unless-stopped

  riven:
    image: spoked/riven:latest
    container_name: riven
    ports:
      - "8080:8080"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=UTC
      - RIVEN_DATABASE_HOST=postgresql+psycopg2://postgres:postgres@riven-db:5432/riven
    volumes:
      - ./data:/riven/data
      - ./symlinks:/riven/symlinks
      - /mnt:/mnt  # Mount your media location
    depends_on:
      - riven-db
    restart: unless-stopped

  riven-db:
    image: postgres:16-alpine
    container_name: riven-db
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=riven
    volumes:
      - riven-db-data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  riven-db-data:

2.2 Start Riven

# Start all containers
docker compose up -d

# Check logs
docker compose logs -f riven

Wait for the containers to start. First run may take a minute for database initialization.

2.3 Access the web UI

Open your browser and go to:

http://your-server-ip:3000

Step 3: Initial configuration

Setup wizard

On first launch, Riven will guide you through basic setup. You'll configure:

  1. 1. Symlink location — Where Riven creates file symlinks
  2. 2. Library paths — Movies and TV show directories
  3. 3. Download settings — Quality and language preferences

Step 4: Connect your Debrid service

4.1 Get your API key

AllDebrid

Account Settings → API Keys

Premiumize

Account → API Key

TorBox

Dashboard → API Settings

4.2 Configure in Riven

  1. 1. Go to Settings → Downloaders
  2. 2. Select your Debrid provider
  3. 3. Paste your API key
  4. 4. Click Test Connection
  5. 5. Save settings

Step 5: Connect Plex

5.1 Get your Plex token

  1. 1. Open Plex in your browser and sign in
  2. 2. Play any content, then open the XML link
  3. 3. Find X-Plex-Token= in the URL

Easier method: Use the Plex Token Finder browser extension, or check your Plex server logs.

5.2 Configure in Riven

  1. 1. Go to Settings → Updaters → Plex
  2. 2. Enter your Plex server URL (e.g., http://localhost:32400)
  3. 3. Paste your Plex token
  4. 4. Test connection and save

Step 6: Configure scrapers

6.1 Enable scrapers

Riven supports multiple scraper sources. In Settings → Scrapers:

Recommended scrapers:

  • Torrentio — Large database, most popular
  • Zilean — DMM hashlists, fast
  • Comet — Additional sources

6.2 Quality settings

Configure your preferred quality in Settings → Ranking:

  • • Set preferred resolutions (4K, 1080p, 720p)
  • • Configure quality rankings (REMUX > BluRay > WEB-DL)
  • • Set language preferences
  • • Enable/disable HDR, Atmos, etc.

Using Riven

Adding content

There are several ways to add content:

Manual search

Use the search bar in Riven's web UI to find and add content directly.

Plex Watchlist

Add to your Plex watchlist and Riven automatically fetches it.

Trakt Lists

Connect Trakt and sync your watchlists and collections.

Overseerr

Connect Overseerr for a request-based workflow.

Dashboard overview

The Riven dashboard shows:

  • Queue — Items being processed
  • Library — All your content
  • Logs — Activity and errors
  • Statistics — Usage metrics
🎉

You're set up!

Add content through any method and watch it appear in your Plex library. Riven handles all the scraping, downloading, and organization automatically.

Troubleshooting

Riven not finding content
  • • Verify scrapers are enabled in settings
  • • Check your Debrid API key is valid
  • • Try searching for popular content to test
  • • Review logs for scraper errors
Content not appearing in Plex
  • • Verify Plex connection in Riven settings
  • • Check that symlink paths match Plex library paths
  • • Manually trigger a Plex library scan
  • • Ensure Plex has access to the symlink directory
Database connection errors
  • • Check PostgreSQL container is running: docker ps
  • • Verify database credentials in docker-compose.yml
  • • Try restarting all containers: docker compose restart
  • • Check database logs: docker compose logs riven-db
Web UI not loading
  • • Check frontend container is running
  • • Verify port 3000 is not blocked by firewall
  • • Check frontend logs: docker compose logs riven-frontend
  • • Try accessing backend directly on port 8080

Advanced configuration

Using with Zurg

For the full Plex + Debrid experience, combine Riven with Zurg and rclone. Check our comprehensive guide:

Plex + Debrid Full Setup →

Using DMB (All-in-One)

DMB (Debrid Media Bridge) packages Zurg, rclone, and Riven in a single Docker image:

# Single container with everything
docker run -d \
  --name dmb \
  -p 3000:3000 \
  -v /path/to/config:/config \
  -v /mnt:/mnt:shared \
  ghcr.io/i-am-puid-0/dmb:latest

See DMB GitHub for full documentation.

Environment variables

Key environment variables for customization:

Variable Description
PUID/PGID User/group ID for file permissions
TZ Timezone (e.g., America/New_York)
RIVEN_DATABASE_HOST PostgreSQL connection string

What's next?

Want the complete setup with Zurg filesystem mounting? Or prefer a zero-maintenance hosted solution?