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:
Step 3: Initial configuration
Setup wizard
On first launch, Riven will guide you through basic setup. You'll configure:
- 1. Symlink location — Where Riven creates file symlinks
- 2. Library paths — Movies and TV show directories
- 3. Download settings — Quality and language preferences
Step 4: Connect your Debrid service
4.1 Get your API key
Real-Debrid
AllDebrid
Account Settings → API Keys
Premiumize
Account → API Key
TorBox
Dashboard → API Settings
4.2 Configure in Riven
- 1. Go to Settings → Downloaders
- 2. Select your Debrid provider
- 3. Paste your API key
- 4. Click Test Connection
- 5. Save settings
Step 5: Connect Plex
5.1 Get your Plex token
- 1. Open Plex in your browser and sign in
- 2. Play any content, then open the XML link
- 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. Go to Settings → Updaters → Plex
- 2.
Enter your Plex server URL (e.g.,
http://localhost:32400) - 3. Paste your Plex token
- 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?