Plex Media Server
Project Overview
Self-hosted 4K Plex Media Server running on TrueNAS SCALE with a fully automated media management pipeline. The system leverages the *arr suite (Sonarr, Radarr, Prowlarr) for content monitoring, Overseerr for user requests, Transmission for downloads, and Trakt for watch history syncing. Intel Quick Sync hardware transcoding enables smooth 4K streaming to multiple users.
Current Library Stats
Note: Library is in active growth phase following TrueNAS server upgrade. Previous Synology DS124 limitations (1GB RAM, no transcoding) severely restricted collection size. Now expanding rapidly with proper hardware.
The Complete Automation Pipeline
The media acquisition workflow is fully automated from request to library:
Workflow Diagram
- Trakt Lists → Monitored watchlists sync to Radarr/Sonarr
- Overseerr → User requests auto-approved and sent to appropriate *arr
- Sonarr/Radarr → Monitors for new releases and triggers search
- Prowlarr → Unified indexer that searches configured sources
- Transmission → Downloads content via TrueNAS app
- Hard Links → Used for efficient library organization (same file, multiple locations)
- Plex → Auto-scans and adds to library
- Miniflux RSS → NetNewsWire → Self-hosted RSS notifications for grab and import
- Trakt Scrobble → Auto-tracks what's watched from Plex and streaming services
Quality Management & Upgrade Logic
Movie Quality Profiles
- Baseline Quality: CAM or TELESYNC (early releases for new content)
- Upgrade Target: Blu-ray 1080p
- Logic: Grabs early releases immediately then automatically upgrades when higher quality becomes available
TV Show Quality Profiles
- Baseline Quality: Web 1080p
- Upgrade Target: None (no automatic upgrading)
- Logic: TV shows typically release in good quality initially, so no need for upgrade automation
- Rationale: Prevents unnecessary re-downloads and storage churn for minimal quality improvement
Storage Optimization
Hard Links: Used extensively to manage Plex library organization without duplicating files. Same content can appear in multiple categories/playlists while only consuming storage once.
The *arr Stack Configuration
Sonarr (TV Shows)
- Platform: TrueNAS app (no Docker)
- Function: Monitors TV shows, handles season/episode tracking, triggers downloads
- Integration: Connected to Prowlarr for indexers, Transmission for downloads, Plex for library updates
- Automation: Monitors Trakt lists for new shows, automatically searches for new episodes on release
Radarr (Movies)
- Platform: TrueNAS app (no Docker)
- Function: Monitors movies, handles release date tracking, manages quality upgrades
- Integration: Connected to Prowlarr for indexers, Transmission for downloads, Plex for library updates
- Automation: Monitors Trakt lists for new movies, searches immediately on release, upgrades quality automatically
Prowlarr (Indexer Manager)
- Platform: TrueNAS app (no Docker)
- Function: Centralized indexer management - one place to configure all search sources
- Benefit: Add an indexer once in Prowlarr, automatically syncs to Sonarr and Radarr
- Efficiency: Eliminates need to configure same indexers in multiple *arr apps
Transmission (Download Client)
- Platform: TrueNAS app (no Docker)
- Configuration: Default settings, no special configuration required
- Integration: Sonarr and Radarr send downloads directly to Transmission
- Storage: Downloads to designated ZFS dataset for organization
Overseerr Request Management
Overseerr provides a Netflix-style interface for browsing and requesting content:
Features
- Auto-Approval: Requests automatically approved and sent to appropriate *arr app
- Discovery: Browse trending, popular, and recommended content across movies and TV
- Integration: Seamlessly connects to Radarr for movies, Sonarr for TV shows
- Workflow: User requests → Auto-approval → Radarr/Sonarr → Prowlarr search → Transmission download → Plex import
Benefits
- Wife can request content without needing to access Radarr/Sonarr directly
- Clean, intuitive interface for non-technical users
- Shows availability status (already in library, pending, available to request)
- Notifications when requested content becomes available in Plex
Trakt Integration
Watchlist Syncing
- Trakt → Radarr/Sonarr: Syncs specific Trakt lists to monitor for new content
- Auto-Discovery: When new episodes or movies are added to monitored lists, automatically triggers search
- Watch History: Tracks watched status across Plex and other streaming services
Auto-Scrobbling
- Plex Scrobbling: Automatically marks content as watched in Trakt when viewed in Plex
- Streaming Services: Also scrobbles from Netflix, Disney+, HBO Max, etc.
- Cross-Platform: Unified watch history across all platforms in one place
Miniflux & RSS Notifications
Current Setup
- Self-Hosted RSS: Miniflux generates RSS feeds from Sonarr/Radarr events
- Import Notifications: RSS feed updates when content successfully imports to Plex
- NetNewsWire Integration: Native iOS RSS reader consumes Miniflux feeds
- Format: Clean RSS format showing title, quality, size, indexer used
Benefits Over Discord Webhooks
- Self-Hosted: Complete control over notification infrastructure
- Cleaner Format: RSS provides standardized, clean feed format
- Multiple Consumers: One feed can be consumed by multiple apps and services
- Integration Options: Can feed homepage "Recently Added" section or other automation
- No Third-Party Dependency: No reliance on Discord's infrastructure or API limits
Future Enhancements
- Expand user base as server capacity allows
- Implement automated cleanup of old/unwatched content to manage storage