Wiki major update

updated with recent documentation
This commit is contained in:
kelinfoxy
2026-01-21 19:18:39 -05:00
parent 30e0481685
commit ef55974b50
98 changed files with 32244 additions and 10 deletions

View File

@@ -0,0 +1,734 @@
# Prowlarr - Indexer Manager
## Table of Contents
- [Overview](#overview)
- [What is Prowlarr?](#what-is-prowlarr)
- [Why Use Prowlarr?](#why-use-prowlarr)
- [How It Works](#how-it-works)
- [Configuration in AI-Homelab](#configuration-in-ai-homelab)
- [Official Resources](#official-resources)
- [Educational Resources](#educational-resources)
- [Docker Configuration](#docker-configuration)
- [Initial Setup](#initial-setup)
- [Advanced Topics](#advanced-topics)
- [Troubleshooting](#troubleshooting)
## Overview
**Category:** Indexer Management
**Docker Image:** [linuxserver/prowlarr](https://hub.docker.com/r/linuxserver/prowlarr)
**Default Stack:** `media.yml`
**Web UI:** `https://prowlarr.${DOMAIN}` or `http://SERVER_IP:9696`
**Authentication:** Optional (configurable)
**Ports:** 9696
## What is Prowlarr?
Prowlarr is an indexer manager and proxy for Sonarr, Radarr, Readarr, and Lidarr. Instead of configuring indexers (torrent/usenet sources) separately in each *arr app, Prowlarr manages them centrally and syncs automatically. It's the "one indexer to rule them all" for your media automation stack.
### Key Features
- **Centralized Indexer Management:** Configure once, use everywhere
- **Automatic Sync:** Pushes indexers to all *arr apps
- **Built-in Indexers:** 500+ indexers included
- **Custom Indexers:** Add any indexer via definitions
- **Search Aggregation:** Search across all indexers at once
- **Stats & History:** Track indexer performance
- **App Sync:** Connects with Sonarr, Radarr, Readarr, Lidarr
- **FlareSolverr Integration:** Bypass Cloudflare protection
- **Download Client Support:** Direct downloads (optional)
- **Notification Support:** Discord, Telegram, etc.
## Why Use Prowlarr?
1. **DRY Principle:** Configure indexers once, not in every app
2. **Centralized Management:** Single source of truth
3. **Automatic Sync:** Updates push to all connected apps
4. **Performance Monitoring:** See which indexers work best
5. **Easier Maintenance:** Update indexer settings in one place
6. **Search Aggregation:** Test searches across all indexers
7. **FlareSolverr Support:** Bypass protections automatically
8. **History Tracking:** Monitor what's being searched
9. **App Integration:** Seamless *arr stack integration
10. **Free & Open Source:** Part of the Servarr family
## How It Works
```
Prowlarr (Central Hub)
Manages 500+ Indexers
(1337x, RARBG, YTS, etc.)
Automatically Syncs To:
- Sonarr (TV)
- Radarr (Movies)
- Readarr (Books)
- Lidarr (Music)
*arr Apps Search via Prowlarr
Prowlarr Queries All Indexers
Returns Aggregated Results
*arr Apps Download Best Match
```
### The Problem Prowlarr Solves
**Before Prowlarr:**
- Configure indexers in Sonarr
- Configure same indexers in Radarr
- Configure same indexers in Readarr
- Configure same indexers in Lidarr
- Update indexer? Change in 4 places!
**With Prowlarr:**
- Configure indexers once in Prowlarr
- Auto-sync to all apps
- Update once, updates everywhere
- Centralized statistics and management
## Configuration in AI-Homelab
### Directory Structure
```
/opt/stacks/media/prowlarr/config/ # Prowlarr configuration
```
### Environment Variables
```bash
# User permissions
PUID=1000
PGID=1000
# Timezone
TZ=America/New_York
```
## Official Resources
- **Website:** https://prowlarr.com
- **Wiki:** https://wiki.servarr.com/prowlarr
- **GitHub:** https://github.com/Prowlarr/Prowlarr
- **Discord:** https://discord.gg/prowlarr
- **Reddit:** https://reddit.com/r/prowlarr
- **Docker Hub:** https://hub.docker.com/r/linuxserver/prowlarr
## Educational Resources
### Videos
- [Prowlarr Setup Guide (Techno Tim)](https://www.youtube.com/watch?v=ZI__3VNlQGM)
- [Complete *arr Stack with Prowlarr](https://www.youtube.com/results?search_query=prowlarr+sonarr+radarr+setup)
- [Prowlarr Indexer Setup](https://www.youtube.com/results?search_query=prowlarr+indexers)
- [FlareSolverr with Prowlarr](https://www.youtube.com/results?search_query=flaresolverr+prowlarr)
### Articles & Guides
- [Official Documentation](https://wiki.servarr.com/prowlarr)
- [Servarr Wiki](https://wiki.servarr.com/)
- [Indexer Setup Guide](https://wiki.servarr.com/prowlarr/indexers)
- [Application Sync Guide](https://wiki.servarr.com/prowlarr/settings#applications)
### Concepts to Learn
- **Indexers:** Sources for torrents/usenet (1337x, RARBG, etc.)
- **Trackers:** BitTorrent indexers
- **Usenet:** Alternative to torrents (requires subscription)
- **Public vs Private:** Indexer access types
- **API Keys:** Authentication between services
- **FlareSolverr:** Cloudflare bypass proxy
- **Categories:** Media type classifications
- **Sync Profiles:** What syncs to which app
## Docker Configuration
### Complete Service Definition
```yaml
prowlarr:
image: linuxserver/prowlarr:latest
container_name: prowlarr
restart: unless-stopped
networks:
- traefik-network
ports:
- "9696:9696"
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- /opt/stacks/media/prowlarr/config:/config
labels:
- "traefik.enable=true"
- "traefik.http.routers.prowlarr.rule=Host(`prowlarr.${DOMAIN}`)"
- "traefik.http.routers.prowlarr.entrypoints=websecure"
- "traefik.http.routers.prowlarr.tls.certresolver=letsencrypt"
- "traefik.http.routers.prowlarr.middlewares=authelia@docker"
- "traefik.http.services.prowlarr.loadbalancer.server.port=9696"
```
### With FlareSolverr (for Cloudflare bypass)
```yaml
prowlarr:
image: linuxserver/prowlarr:latest
container_name: prowlarr
# ... (same as above)
depends_on:
- flaresolverr
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
restart: unless-stopped
networks:
- traefik-network
ports:
- "8191:8191"
environment:
- LOG_LEVEL=info
```
## Initial Setup
### First Access
1. **Start Container:**
```bash
docker compose up -d prowlarr
```
2. **Access Web UI:**
- Local: `http://SERVER_IP:9696`
- Domain: `https://prowlarr.yourdomain.com`
3. **Initial Configuration:**
- Settings → Apps (connect *arr apps)
- Indexers → Add Indexers
- Settings → General (authentication)
### Connecting *arr Applications
**Settings → Apps → Add Application:**
#### Add Sonarr
1. **Name:** Sonarr
2. **Sync Level:** Add and Remove Only (recommended)
3. **Prowlarr Server:** `http://prowlarr:9696`
4. **Sonarr Server:** `http://sonarr:8989`
5. **API Key:** From Sonarr → Settings → General → API Key
6. **Sync Categories:** TV/SD, TV/HD, TV/UHD
7. **Test → Save**
#### Add Radarr
1. **Name:** Radarr
2. **Sync Level:** Add and Remove Only
3. **Prowlarr Server:** `http://prowlarr:9696`
4. **Radarr Server:** `http://radarr:7878`
5. **API Key:** From Radarr → Settings → General → API Key
6. **Sync Categories:** Movies/SD, Movies/HD, Movies/UHD
7. **Test → Save**
#### Add Readarr (if using)
1. **Name:** Readarr
2. **Server:** `http://readarr:8787`
3. **API Key:** From Readarr
4. **Categories:** Books/Ebook, Books/Audiobook
#### Add Lidarr (if using)
1. **Name:** Lidarr
2. **Server:** `http://lidarr:8686`
3. **API Key:** From Lidarr
4. **Categories:** Audio/MP3, Audio/Lossless
### Adding Indexers
**Indexers → Add Indexer:**
#### Popular Public Trackers
**1337x:**
1. Search: "1337x"
2. Select: 1337x
3. Base URL: (default)
4. API Key: (none for public)
5. Categories: Select relevant
6. Test → Save
**YTS:**
1. Search: "YTS"
2. Select: YTS
3. Configure categories
4. Test → Save
**EZTV:**
1. Search: "EZTV"
2. Select: EZTV (TV shows)
3. Configure
4. Test → Save
**Common Public Indexers:**
- 1337x (General)
- YTS (Movies, small file sizes)
- EZTV (TV Shows)
- RARBG (if still available)
- The Pirate Bay
- Nyaa (Anime)
- LimeTorrents
#### Private Trackers
**Requires Account:**
1. Register on tracker website
2. Get API key or credentials
3. Add in Prowlarr with credentials
4. Test → Save
**Popular Private Trackers:**
- BroadcastHe.Net (TV)
- PassThePopcorn (Movies)
- IPTorrents (General)
- TorrentLeech (General)
#### Usenet Indexers
**Requires Usenet Provider:**
1. Subscribe to usenet provider (Newshosting, etc.)
2. Subscribe to indexer (NZBGeek, etc.)
3. Add indexer with API key
4. Configure download client (SABnzbd, NZBGet)
### Auto-Sync Verification
**After adding indexers:**
1. **Check Sonarr:**
- Settings → Indexers
- Should see all indexers from Prowlarr
- Each with "(Prowlarr)" suffix
2. **Check Radarr:**
- Settings → Indexers
- Should see same indexers
- Auto-synced from Prowlarr
3. **Test Search:**
- Sonarr → Add Series → Search
- Should find results from all indexers
## Advanced Topics
### FlareSolverr Integration
Some indexers use Cloudflare protection. FlareSolverr bypasses this.
**Setup:**
1. **Add FlareSolverr Container:**
```yaml
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
restart: unless-stopped
ports:
- "8191:8191"
environment:
- LOG_LEVEL=info
```
2. **Configure in Prowlarr:**
- Settings → Indexers → Scroll down
- FlareSolverr Host: `http://flaresolverr:8191`
- Test
3. **Tag Indexers:**
- Edit indexer
- Tags → Add "flaresolverr"
- Indexers with tag will use FlareSolverr
**When to Use:**
- Indexer returns Cloudflare errors
- "Access Denied" or "Checking your browser"
- DDoS protection pages
### Sync Profiles
**Settings → Apps → Sync Profiles:**
Control what syncs where:
**Standard Profile:**
- Sync categories: All
- Minimum seeders: 1
- Enable RSS: Yes
- Enable Automatic Search: Yes
- Enable Interactive Search: Yes
**Custom Profiles:**
- Create profiles for different apps
- Example: 4K-only profile for Radarr-4K
### Indexer Categories
**Important for Proper Sync:**
- **Movies:** Movies/HD, Movies/UHD, Movies/SD
- **TV:** TV/HD, TV/UHD, TV/SD
- **Music:** Audio/MP3, Audio/Lossless
- **Books:** Books/Ebook, Books/Audiobook
- **Anime:** TV/Anime, Movies/Anime
**Ensure Correct Categories:**
- Indexer must have correct categories
- Apps filter by category
- Mismatched categories = no results
### Statistics & History
**System → Status:**
- Indexer response times
- Success rates
- Error counts
**History:**
- View all searches
- Track performance
- Debug issues
**Indexer Stats:**
- Indexers → View stats column
- Grab count
- Query count
- Failure rate
### Custom Indexer Definitions
**Add Unlisted Indexers:**
1. **Find Indexer Definition:**
- Prowlarr GitHub → Definitions
- Or community-submitted
2. **Add Definition File:**
- Copy YAML definition
- Place in `/config/Definitions/Custom/`
- Restart Prowlarr
3. **Add Indexer:**
- Should appear in list
- Configure as normal
### Download Clients (Optional)
**Prowlarr can send directly to download clients:**
**Settings → Download Clients → Add:**
Example: qBittorrent
- Host: `gluetun` (if via VPN)
- Port: `8080`
- Category: `prowlarr-manual`
**Use Case:**
- Manual downloads from Prowlarr
- Not needed for *arr apps (they have own clients)
### Notifications
**Settings → Connect:**
Get notified about:
- Indexer health issues
- Grab events
- Application updates
**Popular Notifications:**
- Discord
- Telegram
- Pushover
- Email
- Custom webhook
## Troubleshooting
### Prowlarr Not Accessible
```bash
# Check container status
docker ps | grep prowlarr
# View logs
docker logs prowlarr
# Test access
curl http://localhost:9696
# Check network
docker network inspect traefik-network
```
### Indexers Not Syncing to Apps
```bash
# Check app connection
# Settings → Apps → Test
# Check API keys match
# Prowlarr API key vs app's API key
# Check network connectivity
docker exec prowlarr ping -c 3 sonarr
docker exec prowlarr ping -c 3 radarr
# Force sync
# Settings → Apps → Select app → Sync App Indexers
# View logs
docker logs prowlarr | grep -i sync
```
### Indexer Failing
```bash
# Test indexer
# Indexers → Select indexer → Test
# Common issues:
# - Indexer down
# - Cloudflare protection (need FlareSolverr)
# - IP banned (too many requests)
# - API key invalid
# Check indexer status
# Visit indexer website directly
# Enable FlareSolverr if Cloudflare error
```
### FlareSolverr Not Working
```bash
# Check FlareSolverr status
docker logs flaresolverr
# Test FlareSolverr
curl http://localhost:8191/health
# Ensure Prowlarr can reach FlareSolverr
docker exec prowlarr curl http://flaresolverr:8191/health
# Verify indexer tagged
# Indexer → Edit → Tags → flaresolverr
# Check FlareSolverr logs during indexer test
docker logs -f flaresolverr
```
### No Search Results
```bash
# Check indexers enabled
# Indexers → Ensure not disabled
# Test indexers
# Indexers → Test All
# Check categories
# Indexer categories must match app needs
# Manual search
# Prowlarr → Search → Test query
# Should return results
# Check app logs
docker logs sonarr | grep prowlarr
docker logs radarr | grep prowlarr
```
### Database Corruption
```bash
# Stop Prowlarr
docker stop prowlarr
# Backup database
cp /opt/stacks/media/prowlarr/config/prowlarr.db /opt/backups/
# Check integrity
sqlite3 /opt/stacks/media/prowlarr/config/prowlarr.db "PRAGMA integrity_check;"
# If corrupted, restore or rebuild
# rm /opt/stacks/media/prowlarr/config/prowlarr.db
docker start prowlarr
# Prowlarr will recreate database (need to reconfigure)
```
## Performance Optimization
### Rate Limiting
**Settings → Indexers → Options:**
- Indexer download limit: 60 per day (per indexer)
- Prevents IP bans
- Adjust based on indexer limits
### Query Limits
**Per Indexer:**
- Edit indexer → Query Limit
- Requests per day
- Prevents abuse
### Caching
**Prowlarr caches results:**
- Reduces duplicate queries
- Improves response time
- Automatic management
### Database Maintenance
```bash
# Stop Prowlarr
docker stop prowlarr
# Vacuum database
sqlite3 /opt/stacks/media/prowlarr/config/prowlarr.db "VACUUM;"
# Restart
docker start prowlarr
```
## Security Best Practices
1. **Enable Authentication:**
- Settings → General → Security
- Authentication: Required
- Username and password
2. **API Key Security:**
- Keep API keys secret
- Regenerate if compromised
- Settings → General → API Key
3. **Use Reverse Proxy:**
- Traefik + Authelia
- Don't expose 9696 publicly
4. **Indexer Credentials:**
- Secure storage
- Use API keys over passwords
- Rotate periodically
5. **Monitor Access:**
- Check history for unusual activity
- Review indexer stats
6. **VPN for Public Trackers:**
- While Prowlarr doesn't download
- Apps behind VPN still benefit
7. **Regular Updates:**
- Keep Prowlarr current
- Check release notes
## Backup Strategy
**Critical Files:**
```bash
/opt/stacks/media/prowlarr/config/prowlarr.db # Database
/opt/stacks/media/prowlarr/config/config.xml # Settings
/opt/stacks/media/prowlarr/config/Backup/ # Auto backups
```
**Backup Script:**
```bash
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR=/opt/backups/prowlarr
# Backup database
cp /opt/stacks/media/prowlarr/config/prowlarr.db $BACKUP_DIR/prowlarr-$DATE.db
# Keep last 7 days
find $BACKUP_DIR -name "prowlarr-*.db" -mtime +7 -delete
```
**Restore:**
```bash
docker stop prowlarr
cp /opt/backups/prowlarr/prowlarr-20240101.db /opt/stacks/media/prowlarr/config/prowlarr.db
docker start prowlarr
```
## Integration with Other Services
### Prowlarr + Sonarr + Radarr
- Central indexer management
- Auto-sync to all apps
- Single configuration point
### Prowlarr + FlareSolverr
- Bypass Cloudflare protection
- Access protected indexers
- Automatic proxy usage
### Prowlarr + VPN
- Prowlarr itself doesn't need VPN
- Download clients (qBittorrent) need VPN
- Indexer searches are legal
## Summary
Prowlarr is the essential indexer manager for *arr stacks offering:
- Centralized indexer management
- Automatic sync to all *arr apps
- 500+ built-in indexers
- FlareSolverr integration
- Performance statistics
- History tracking
- Free and open-source
**Perfect for:**
- *arr stack users
- Multiple *arr applications
- Centralized management needs
- Indexer performance monitoring
- Simplified configuration
**Key Benefits:**
- Configure once, use everywhere
- Automatic sync to apps
- Single source of truth
- Easy maintenance
- Performance monitoring
- Cloudflare bypass support
**Remember:**
- Add Prowlarr first, then apps
- Apps auto-receive indexers
- Use FlareSolverr for Cloudflare
- Monitor indexer health
- Respect indexer rate limits
- Keep API keys secure
- Regular backups essential
**Essential Stack:**
```
Prowlarr (Indexer Manager)
Sonarr (TV) + Radarr (Movies)
qBittorrent (via Gluetun VPN)
Plex/Jellyfin (Media Server)
```
Prowlarr is the glue that makes the *arr stack work seamlessly!