Initial template repository
🎬 ARR Suite Template Bootstrap - Complete Media Automation Stack Features: - 16 production services (Prowlarr, Sonarr, Radarr, Plex, etc.) - One-command Ansible deployment - VPN-protected downloads via Gluetun - Tailscale secure access - Production-ready security (UFW, Fail2Ban) - Automated backups and monitoring - Comprehensive documentation Ready for customization and deployment to any VPS. Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
421
docs/CONFIGURATION.md
Normal file
421
docs/CONFIGURATION.md
Normal file
@@ -0,0 +1,421 @@
|
||||
# Configuration Guide
|
||||
|
||||
This guide covers the initial configuration of each application in the Arrs stack after deployment.
|
||||
|
||||
## Initial Setup Workflow
|
||||
|
||||
1. **Start with Prowlarr** - Set up indexers first
|
||||
2. **Configure Sonarr/Radarr/Lidarr** - Set up media management
|
||||
3. **Set up Bazarr** - Configure subtitle management
|
||||
4. **Add Download Clients** - Connect to your torrent/usenet clients
|
||||
|
||||
## Prowlarr Configuration
|
||||
|
||||
Prowlarr acts as the central indexer manager for all other applications.
|
||||
|
||||
### First-Time Setup
|
||||
|
||||
1. Access Prowlarr at `http://YOUR_NAS_IP:9696`
|
||||
2. Complete the initial setup wizard
|
||||
3. Set authentication if desired (Settings → General → Security)
|
||||
|
||||
### Adding Indexers
|
||||
|
||||
1. Go to **Indexers** → **Add Indexer**
|
||||
2. Choose your indexer type (Public or Private)
|
||||
3. Configure indexer settings:
|
||||
- **Name**: Descriptive name
|
||||
- **URL**: Indexer URL
|
||||
- **API Key**: If required
|
||||
- **Categories**: Select relevant categories
|
||||
4. Test the connection
|
||||
5. Save the indexer
|
||||
|
||||
### Connecting to Apps
|
||||
|
||||
1. Go to **Settings** → **Apps**
|
||||
2. Click **Add Application**
|
||||
3. Select the application type (Sonarr, Radarr, etc.)
|
||||
4. Configure connection:
|
||||
- **Name**: Application name
|
||||
- **Server**: `172.20.0.1` (synobridge gateway)
|
||||
- **Port**: Application port (8989 for Sonarr, 7878 for Radarr, etc.)
|
||||
- **API Key**: Get from the target application
|
||||
5. Test and save
|
||||
|
||||
## Sonarr Configuration (TV Shows)
|
||||
|
||||
### Initial Setup
|
||||
|
||||
1. Access Sonarr at `http://YOUR_NAS_IP:8989`
|
||||
2. Complete the setup wizard
|
||||
3. Set authentication (Settings → General → Security)
|
||||
|
||||
### Root Folders
|
||||
|
||||
1. Go to **Settings** → **Media Management**
|
||||
2. Click **Add Root Folder**
|
||||
3. Set path: `/data/media/tv`
|
||||
4. Save the configuration
|
||||
|
||||
### Quality Profiles
|
||||
|
||||
1. Go to **Settings** → **Profiles** → **Quality Profiles**
|
||||
2. Edit or create profiles based on your preferences:
|
||||
- **HD-1080p**: For 1080p content
|
||||
- **HD-720p/1080p**: For mixed HD content
|
||||
- **Any**: For any quality
|
||||
|
||||
### Download Clients
|
||||
|
||||
1. Go to **Settings** → **Download Clients**
|
||||
2. Click **Add Download Client**
|
||||
3. Select your client type (qBittorrent, Transmission, etc.)
|
||||
4. Configure connection:
|
||||
- **Host**: `172.20.0.1`
|
||||
- **Port**: Your client's port
|
||||
- **Username/Password**: If required
|
||||
- **Category**: `tv` (recommended)
|
||||
5. Test and save
|
||||
|
||||
### Indexers (if not using Prowlarr)
|
||||
|
||||
1. Go to **Settings** → **Indexers**
|
||||
2. Add indexers manually or sync from Prowlarr
|
||||
|
||||
## Radarr Configuration (Movies)
|
||||
|
||||
### Initial Setup
|
||||
|
||||
1. Access Radarr at `http://YOUR_NAS_IP:7878`
|
||||
2. Complete the setup wizard
|
||||
3. Set authentication (Settings → General → Security)
|
||||
|
||||
### Root Folders
|
||||
|
||||
1. Go to **Settings** → **Media Management**
|
||||
2. Click **Add Root Folder**
|
||||
3. Set path: `/data/media/movies`
|
||||
4. Save the configuration
|
||||
|
||||
### Quality Profiles
|
||||
|
||||
Configure quality profiles similar to Sonarr:
|
||||
- **HD-1080p**
|
||||
- **HD-720p/1080p**
|
||||
- **Ultra-HD** (for 4K content)
|
||||
|
||||
### Download Clients
|
||||
|
||||
1. Go to **Settings** → **Download Clients**
|
||||
2. Configure similar to Sonarr
|
||||
3. Set **Category**: `movies`
|
||||
|
||||
## Lidarr Configuration (Music)
|
||||
|
||||
### Initial Setup
|
||||
|
||||
1. Access Lidarr at `http://YOUR_NAS_IP:8686`
|
||||
2. Complete the setup wizard
|
||||
3. Set authentication (Settings → General → Security)
|
||||
|
||||
### Root Folders
|
||||
|
||||
1. Go to **Settings** → **Media Management**
|
||||
2. Click **Add Root Folder**
|
||||
3. Set path: `/data/media/music`
|
||||
4. Save the configuration
|
||||
|
||||
### Quality Profiles
|
||||
|
||||
Configure for music quality:
|
||||
- **Lossless**: FLAC, ALAC
|
||||
- **High Quality**: 320kbps MP3
|
||||
- **Standard**: 192-256kbps MP3
|
||||
|
||||
### Download Clients
|
||||
|
||||
1. Configure similar to other apps
|
||||
2. Set **Category**: `music`
|
||||
|
||||
### Metadata Profiles
|
||||
|
||||
1. Go to **Settings** → **Profiles** → **Metadata Profiles**
|
||||
2. Configure which metadata to download:
|
||||
- **Primary Types**: Album, Single, EP
|
||||
- **Secondary Types**: Studio, Live, etc.
|
||||
|
||||
## Bazarr Configuration (Subtitles)
|
||||
|
||||
### Initial Setup
|
||||
|
||||
1. Access Bazarr at `http://YOUR_NAS_IP:6767`
|
||||
2. Complete the setup wizard
|
||||
3. Set authentication (Settings → General → Security)
|
||||
|
||||
### Sonarr Integration
|
||||
|
||||
1. Go to **Settings** → **Sonarr**
|
||||
2. Enable Sonarr integration
|
||||
3. Configure connection:
|
||||
- **Address**: `172.20.0.1`
|
||||
- **Port**: `8989`
|
||||
- **API Key**: From Sonarr
|
||||
- **Base URL**: Leave empty
|
||||
4. Set **Path Mappings** if needed
|
||||
5. Test and save
|
||||
|
||||
### Radarr Integration
|
||||
|
||||
1. Go to **Settings** → **Radarr**
|
||||
2. Configure similar to Sonarr integration
|
||||
3. Use port `7878` for Radarr
|
||||
|
||||
### Subtitle Providers
|
||||
|
||||
1. Go to **Settings** → **Providers**
|
||||
2. Add subtitle providers:
|
||||
- **OpenSubtitles**: Free, requires registration
|
||||
- **Subscene**: Free, no registration
|
||||
- **Addic7ed**: Free, requires registration
|
||||
3. Configure provider settings and authentication
|
||||
|
||||
### Languages
|
||||
|
||||
1. Go to **Settings** → **Languages**
|
||||
2. Add desired subtitle languages
|
||||
3. Set language priorities
|
||||
|
||||
## Download Client Configuration
|
||||
|
||||
### qBittorrent Example
|
||||
|
||||
If using qBittorrent as your download client:
|
||||
|
||||
1. **Connection Settings**:
|
||||
- Host: `172.20.0.1`
|
||||
- Port: `8081` (qBittorrent WebUI port - configured to avoid conflict with SABnzbd)
|
||||
- Username/Password: Your qBittorrent credentials
|
||||
|
||||
2. **Category Setup** in qBittorrent:
|
||||
- `movies` → `/data/torrents/movies`
|
||||
- `tv` → `/data/torrents/tv`
|
||||
- `music` → `/data/torrents/music`
|
||||
|
||||
3. **Path Mappings** (if needed):
|
||||
- Remote Path: `/downloads`
|
||||
- Local Path: `/data/torrents`
|
||||
|
||||
### Transmission Example
|
||||
|
||||
For Transmission:
|
||||
|
||||
1. **Connection Settings**:
|
||||
- Host: `172.20.0.1`
|
||||
- Port: `9091` (default Transmission port)
|
||||
- Username/Password: If authentication enabled
|
||||
|
||||
2. **Directory Setup**:
|
||||
- Download Directory: `/data/torrents`
|
||||
- Use categories or labels for organization
|
||||
|
||||
## Advanced Configuration
|
||||
|
||||
### Custom Scripts
|
||||
|
||||
You can add custom scripts for post-processing:
|
||||
|
||||
1. Go to **Settings** → **Connect**
|
||||
2. Add **Custom Script** connection
|
||||
3. Configure script path and triggers
|
||||
|
||||
### Notifications
|
||||
|
||||
Set up notifications for downloads and imports:
|
||||
|
||||
1. Go to **Settings** → **Connect**
|
||||
2. Add notification services:
|
||||
- **Discord**
|
||||
- **Slack**
|
||||
- **Email**
|
||||
- **Pushover**
|
||||
|
||||
### Quality Definitions
|
||||
|
||||
Fine-tune quality definitions:
|
||||
|
||||
1. Go to **Settings** → **Quality**
|
||||
2. Adjust size limits for each quality
|
||||
3. Set preferred quality ranges
|
||||
|
||||
## Remote Path Mappings
|
||||
|
||||
If your download client is on a different system or uses different paths:
|
||||
|
||||
1. Go to **Settings** → **Download Clients**
|
||||
2. Click **Add Remote Path Mapping**
|
||||
3. Configure:
|
||||
- **Host**: Download client IP
|
||||
- **Remote Path**: Path as seen by download client
|
||||
- **Local Path**: Path as seen by Arr application
|
||||
|
||||
## Backup Configuration
|
||||
|
||||
### Export Settings
|
||||
|
||||
Each application allows exporting settings:
|
||||
|
||||
1. Go to **System** → **Backup**
|
||||
2. Click **Backup Now**
|
||||
3. Download the backup file
|
||||
|
||||
### Automated Backups
|
||||
|
||||
Use the provided backup script:
|
||||
|
||||
```bash
|
||||
# Create backup
|
||||
./scripts/backup.sh
|
||||
|
||||
# Schedule with cron (optional)
|
||||
crontab -e
|
||||
# Add: 0 2 * * 0 /path/to/synology-arrs-stack/scripts/backup.sh
|
||||
```
|
||||
|
||||
## Monitoring and Maintenance
|
||||
|
||||
### Health Checks
|
||||
|
||||
Monitor application health:
|
||||
|
||||
1. Check **System** → **Status** in each app
|
||||
2. Review **System** → **Logs** for errors
|
||||
3. Use the logs script: `./scripts/logs.sh status`
|
||||
|
||||
### Updates
|
||||
|
||||
Keep applications updated:
|
||||
|
||||
1. **Manual**: Pull new images and restart containers
|
||||
2. **Automated**: Use Watchtower or similar tools
|
||||
3. **Script**: Use `./scripts/deploy.sh` to update
|
||||
|
||||
### Performance Tuning
|
||||
|
||||
Optimize performance:
|
||||
|
||||
1. **Resource Limits**: Set CPU/memory limits in docker-compose
|
||||
2. **Database Maintenance**: Regular database cleanup
|
||||
3. **Log Rotation**: Configure log rotation to save space
|
||||
|
||||
## Troubleshooting Common Issues
|
||||
|
||||
### Import Issues
|
||||
|
||||
1. **Check file permissions**: Ensure dockerlimited user can access files
|
||||
2. **Verify paths**: Confirm download and media paths are correct
|
||||
3. **Review logs**: Check application logs for specific errors
|
||||
|
||||
### Connection Issues
|
||||
|
||||
1. **Network connectivity**: Test connections between services
|
||||
2. **API keys**: Verify API keys are correct and active
|
||||
3. **Firewall**: Ensure ports are open
|
||||
|
||||
### Performance Issues
|
||||
|
||||
1. **Resource usage**: Monitor CPU and memory usage
|
||||
2. **Disk I/O**: Check for disk bottlenecks
|
||||
3. **Network**: Verify network performance
|
||||
|
||||
For more detailed troubleshooting, see [TROUBLESHOOTING.md](TROUBLESHOOTING.md).
|
||||
|
||||
## New Services Configuration
|
||||
|
||||
### Whisparr Configuration (Adult Content)
|
||||
|
||||
Whisparr manages adult content similar to Sonarr/Radarr.
|
||||
|
||||
1. Access Whisparr at `http://YOUR_VPS_IP:6969`
|
||||
2. **Media Management**:
|
||||
- Root Folder: `/data/xxx`
|
||||
- File naming and organization similar to Sonarr
|
||||
3. **Indexers**: Connect via Prowlarr or add manually
|
||||
4. **Download Clients**: Use same clients as other Arrs
|
||||
5. **Quality Profiles**: Set up quality preferences for adult content
|
||||
|
||||
### Tautulli Configuration (Plex Monitoring)
|
||||
|
||||
Tautulli provides detailed statistics and monitoring for Plex.
|
||||
|
||||
1. Access Tautulli at `http://YOUR_VPS_IP:8181`
|
||||
2. **Initial Setup**:
|
||||
- Plex Server: `http://plex:32400` (internal Docker network)
|
||||
- Plex Token: Get from Plex settings
|
||||
3. **Configuration**:
|
||||
- Enable activity monitoring
|
||||
- Set up notification agents
|
||||
- Configure user management
|
||||
4. **Features**:
|
||||
- View play statistics
|
||||
- Monitor user activity
|
||||
- Set up kill stream notifications
|
||||
- Generate usage reports
|
||||
|
||||
### Jellyseerr Configuration (Media Requests)
|
||||
|
||||
Jellyseerr allows users to request media additions.
|
||||
|
||||
1. Access Jellyseerr at `http://YOUR_VPS_IP:5055`
|
||||
2. **Initial Setup**:
|
||||
- Connect to Plex server: `http://plex:32400`
|
||||
- Import Plex libraries and users
|
||||
3. **Service Connections**:
|
||||
- **Sonarr**: `http://sonarr:8989` with API key
|
||||
- **Radarr**: `http://radarr:7878` with API key
|
||||
- **Whisparr**: `http://whisparr:6969` with API key (if desired)
|
||||
4. **User Management**:
|
||||
- Set user permissions and quotas
|
||||
- Configure approval workflows
|
||||
- Set up notification preferences
|
||||
|
||||
### TubeArchivist Configuration (YouTube Archiving)
|
||||
|
||||
TubeArchivist downloads and organizes YouTube content.
|
||||
|
||||
1. Access TubeArchivist at `http://YOUR_VPS_IP:8000`
|
||||
2. **Initial Setup**:
|
||||
- Username: `tubearchivist`
|
||||
- Password: `verysecret` (change after first login)
|
||||
3. **Configuration**:
|
||||
- **Downloads**: Set quality preferences and formats
|
||||
- **Channels**: Subscribe to channels for automatic downloads
|
||||
- **Playlists**: Import and monitor playlists
|
||||
- **Scheduling**: Set up download schedules
|
||||
4. **Integration**:
|
||||
- Media files stored in `/data/youtube`
|
||||
- Can be added to Plex as a library if desired
|
||||
- Elasticsearch provides search functionality
|
||||
- Redis handles task queuing
|
||||
|
||||
#### TubeArchivist Dependencies
|
||||
|
||||
- **Elasticsearch**: Provides search and indexing (internal port 9200)
|
||||
- **Redis**: Handles background tasks and caching (internal port 6379)
|
||||
- Both services are automatically configured and don't require manual setup
|
||||
|
||||
### Security Considerations for New Services
|
||||
|
||||
1. **Change Default Passwords**:
|
||||
- TubeArchivist: Change from `verysecret`
|
||||
- Elasticsearch: Change from `verysecret`
|
||||
|
||||
2. **Access Control**:
|
||||
- Consider using reverse proxy with authentication
|
||||
- Limit access via UFW firewall rules
|
||||
- Use Tailscale for secure remote access
|
||||
|
||||
3. **Resource Usage**:
|
||||
- TubeArchivist with Elasticsearch can be resource-intensive
|
||||
- Monitor disk usage for YouTube downloads
|
||||
- Consider setting download limits and cleanup policies
|
||||
Reference in New Issue
Block a user