Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Combiner 🎬

Seamlessly combine your 4K collection with intelligent library optimization.

πŸš€ What Combiner Does

Combiner automatically processes your 4K movie downloads and intelligently combines them with your existing media library, creating perfect Plex quality selection while optimizing storage with hardlinks.

✨ The Magic Process

  1. 4K movie downloads β†’ Combiner receives webhook from 4K Radarr
  2. Scans your library β†’ Finds existing movie versions
  3. Optimizes existing files β†’ Renames with quality suffix (e.g., - 1080p)
  4. Creates 4K hardlink β†’ Adds with quality suffix (e.g., - 2160p)
  5. Cleans up tracking β†’ Removes from 4K Radarr instance
  6. Perfect Plex integration β†’ Quality selection dropdown appears!

πŸ“ Before & After

Before Combiner:

/Movies/Top Gun Maverick (2022)/
  Top Gun Maverick (2022).mkv                    # 1080p, no quality info

After Combiner Processing:

/Movies/Top Gun Maverick (2022)/
  Top Gun Maverick (2022) - 1080p.mkv           # Auto-renamed existing!
  Top Gun Maverick (2022) - 2160p.mkv           # New 4K hardlink

Result in Plex:

  • Single movie entry with quality selection dropdown
  • Choose between 1080p and 2160p on-the-fly
  • Zero duplicate storage (hardlinks, not copies!)

πŸ› οΈ Quick Setup

1. Create Config Directory

# Create config directory on your host
mkdir -p /mnt/user/appdata/combiner

# Copy example config
curl -o /mnt/user/appdata/combiner/config.yml \
  https://raw.githubusercontent.com/yourusername/combiner/main/config.yml.example

# Edit with your settings
nano /mnt/user/appdata/combiner/config.yml

2. Deploy with Docker Compose

version: '3.8'

services:
  combiner:
    image: ghcr.io/yourusername/combiner:latest
    container_name: combiner
    restart: unless-stopped
    ports:
      - "5465:5465"
    volumes:
      - /mnt/user/data:/data # Same data mount as your Radarr and Radarr-4k
      - /mnt/user/appdata/combiner:/config  # Config & logs
    networks:
      - media
docker-compose up -d

3. Configure 4K Radarr Webhook

In your 4K Radarr instance:

  1. Settings β†’ Connect β†’ Add Webhook
  2. URL: http://combiner:5465/webhook/radarr-4k
  3. Triggers: Enable On Import
  4. Test the connection
  5. Save

4. Download a 4K Movie

Watch Combiner automatically:

  • βœ… Process the webhook
  • βœ… Find your existing 1080p version
  • βœ… Rename it with quality suffix
  • βœ… Create 4K hardlink with quality suffix
  • βœ… Remove from 4K Radarr
  • βœ… Perfect Plex quality selection!

βš™οΈ Configuration

Config Directory Structure

/mnt/user/appdata/combiner/
β”œβ”€β”€ config.yml          # Main configuration
└── combiner.log        # Application logs (auto-created)

config.yml

radarr:
  main:
    url: "http://radarr:7878"
    api_key: "your-main-radarr-api-key"
  k4:
    url: "http://radarr4k:7878"  
    api_key: "your-4k-radarr-api-key"

plex_naming:
  enabled: true                    # Enable Plex optimization
  add_quality_suffix: true         # Add quality suffixes for merging

Environment Variables (Optional)

Variable Description Default
RADARR_MAIN_URL Main Radarr URL -
RADARR_MAIN_API_KEY Main Radarr API key -
RADARR_4K_URL 4K Radarr URL -
RADARR_4K_API_KEY 4K Radarr API key -
ENABLE_PLEX_NAMING Enable Plex naming false
PLEX_QUALITY_SUFFIX Add quality suffixes false

πŸ” Monitoring & Debugging

Health Check

curl http://localhost:5465/health

View Configuration

curl http://localhost:5465/config

Quality Mappings

curl http://localhost:5465/quality-mappings

Recent Logs

curl http://localhost:5465/logs

Log Files

  • Container logs: docker logs combiner
  • Application logs: /mnt/user/appdata/combiner/combiner.log

🎯 Key Features

🧠 Intelligent Quality Detection

  • Automatically detects quality from existing filenames
  • Maps Radarr qualities to Plex-friendly names
  • Defaults to 1080p for undetected files

πŸ”— Smart Hardlink Management

  • Creates hardlinks (not copies) to save storage
  • Maintains file permissions and metadata
  • Works across same filesystem only

🏷️ Automatic File Optimization

  • Renames existing files for Plex compatibility
  • Adds quality suffixes for perfect merging
  • Skips files that already have suffixes

πŸ—‘οΈ Clean Radarr Management

  • Removes processed movies from 4K instance
  • Prevents duplicate tracking
  • Maintains clean library organization

πŸ“ Comprehensive Logging

  • File-based logging in config directory
  • Real-time log viewing via API
  • Detailed processing information

πŸ“‹ Requirements

  • Two Radarr instances (main library + 4K)
  • Shared storage accessible by both containers
  • Same filesystem for hardlink support (ext4, NTFS, etc.)
  • Docker and docker-compose

🎬 Supported Formats

  • .mkv, .mp4, .avi, .m4v, .mov
  • .wmv, .flv, .webm, .ts, .m2ts

🚨 Important Notes

  • Test first! Try with one movie before bulk processing
  • Same filesystem required for hardlinks to work
  • Backup your config before making changes
  • Monitor logs during initial setup

πŸŽ‰ Perfect For

  • Plex users wanting seamless quality selection
  • Storage optimizers avoiding duplicate files
  • Automation enthusiasts eliminating manual work
  • Library perfectionists wanting consistent naming

πŸš€ Why Combiner Changes Everything

Before Combiner:

  • Manual file management for every 4K download
  • Inconsistent naming across your library
  • Duplicate storage eating your drives
  • No quality selection in Plex

After Combiner:

  • βœ… Zero manual work - Everything automated
  • βœ… Perfect Plex integration - Quality selection just works
  • βœ… Optimized storage - Hardlinks save space
  • βœ… Library enhancement - Existing files get optimized too
  • βœ… Comprehensive logging - Full visibility into operations

🎬 Deploy Once. Enjoy Forever.

Combiner transforms your media workflow from tedious manual management to seamless automation. Every 4K download makes your library better!

Ready to combine your collection? πŸš€βœ¨

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages