Complete documentation refactoring with 57 service docs
- Refactored README.md, getting-started.md, quick-reference.md - Enhanced setup-homelab.sh with 9-step automated process - Created services-overview.md with all stacks - Added comprehensive documentation for 57 services in docs/service-docs/ - All services include: overview, configuration, resources, educational content - Coverage: Core, Infrastructure, Dashboards, Media, Media-Extended, Home Assistant, Productivity, Utilities, Monitoring, Development stacks - Educational focus with links to tutorials, videos, and guides
This commit is contained in:
734
docs/service-docs/prowlarr.md
Normal file
734
docs/service-docs/prowlarr.md
Normal 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!
|
||||
Reference in New Issue
Block a user