7.9 KiB
Unmanic - Library Optimization
Table of Contents
- Overview
- What is Unmanic?
- Why Use Unmanic?
- How It Works
- Configuration in AI-Homelab
- Official Resources
- Educational Resources
- Docker Configuration
- Initial Setup
- Troubleshooting
Overview
Category: Media Optimization
Docker Image: josh5/unmanic
Default Stack: media-extended.yml
Web UI: https://unmanic.${DOMAIN} or http://SERVER_IP:8888
Authentication: Optional
Ports: 8888
What is Unmanic?
Unmanic is a library optimizer designed to automate file management and transcoding tasks. Unlike Tdarr (which processes entire libraries), Unmanic focuses on continuous optimization - it watches your media library and processes new files as they arrive. It's perfect for maintaining consistent quality and format standards automatically.
Key Features
- File Watcher: Automatic processing of new files
- Plugin System: Extensible workflows
- Hardware Acceleration: GPU transcoding support
- Container Conversion: Automatic remuxing
- Audio/Subtitle Management: Track manipulation
- Queue Management: Priority handling
- Statistics Dashboard: Processing metrics
- Multiple Libraries: Independent configurations
- Remote Workers: Distributed processing
- Pause/Resume: Flexible scheduling
Why Use Unmanic?
- Automatic Processing: New files handled immediately
- Consistent Quality: Enforce library standards
- Space Optimization: Convert to efficient codecs
- Format Standardization: All files same container
- Hardware Acceleration: Fast GPU transcoding
- Plugin Ecosystem: Pre-built workflows
- Simple Setup: Easier than Tdarr for basic tasks
- Free & Open Source: No cost
- Active Development: Regular updates
- Docker Ready: Easy deployment
How It Works
New File Added to Library
↓
Unmanic Detects File (File Watcher)
↓
Applies Configured Plugins
↓
Queues for Processing
↓
Worker Processes File
↓
Output File Created
↓
Replaces Original
↓
Library Optimized
Configuration in AI-Homelab
Directory Structure
/opt/stacks/media-management/unmanic/config/ # Configuration
/mnt/media/movies/ # Movie library
/mnt/media/tv/ # TV library
/tmp/unmanic/ # Temp files
Environment Variables
# User permissions
PUID=1000
PGID=1000
# Timezone
TZ=America/New_York
Official Resources
- Website: https://unmanic.app
- Documentation: https://docs.unmanic.app
- GitHub: https://github.com/Unmanic/unmanic
- Discord: https://discord.gg/wpShMzf
- Forum: https://forum.unmanic.app
Educational Resources
Videos
Articles & Guides
Concepts to Learn
- File Watching: Real-time monitoring
- Plugin Workflows: Sequential processing
- Hardware Transcoding: GPU acceleration
- Container Remuxing: Format conversion without re-encoding
- Worker Pools: Parallel processing
Docker Configuration
Complete Service Definition
unmanic:
image: josh5/unmanic:latest
container_name: unmanic
restart: unless-stopped
networks:
- traefik-network
ports:
- "8888:8888"
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- /opt/stacks/media-management/unmanic/config:/config
- /mnt/media:/library
- /tmp/unmanic:/tmp/unmanic
devices:
- /dev/dri:/dev/dri # Intel QuickSync
labels:
- "traefik.enable=true"
- "traefik.http.routers.unmanic.rule=Host(`unmanic.${DOMAIN}`)"
- "traefik.http.routers.unmanic.entrypoints=websecure"
- "traefik.http.routers.unmanic.tls.certresolver=letsencrypt"
- "traefik.http.routers.unmanic.middlewares=authelia@docker"
- "traefik.http.services.unmanic.loadbalancer.server.port=8888"
With NVIDIA GPU
unmanic:
image: josh5/unmanic:latest
container_name: unmanic
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
# ... rest of config
Initial Setup
First Access
-
Start Container:
docker compose up -d unmanic -
Access Web UI:
- Local:
http://SERVER_IP:8888 - Domain:
https://unmanic.yourdomain.com
- Local:
-
Add Library:
- Settings → Libraries → Add Library
- Path:
/library/movies - Enable file watcher
-
Install Plugins:
- Plugins → Install desired plugins
- Configure plugin settings
-
Configure Workers:
- Settings → Workers
- Set worker count based on resources
Popular Plugins
Essential Plugins:
-
Video Encoder H265/HEVC
- Convert to H.265
- Space savings
-
Normalize Audio Levels
- Consistent volume
- Prevents loud/quiet issues
-
Remove Subtitle Streams
- Clean unwanted subtitles
-
Container Conversion to MKV
- Standardize on MKV
-
Video Resolution Limiter
- Downscale 4K to 1080p if needed
Install:
- Plugins → Search → Install
- Configure in Library settings
Library Configuration
Settings → Libraries → Select Library:
General:
- Enable file watcher: ✓
- Enable inotify: ✓ (real-time)
- Scan interval: 30 minutes (backup to file watcher)
Plugins:
- Add plugins in desired order
- Each plugin processes sequentially
Example Flow:
- Container Conversion to MKV
- Video Encoder H265
- Normalize Audio
- Remove Subtitle Streams
Worker Configuration
Settings → Workers:
Worker Count:
- 1-2 for GPU encoding
- 2-4 for CPU encoding
- Don't overload system
Worker Settings:
- Enable hardware acceleration
- Set temp directory
- Configure logging
Troubleshooting
Unmanic Not Processing Files
# Check file watcher
# Settings → Libraries → Check "Enable file watcher"
# Check logs
docker logs unmanic | tail -50
# Manual trigger
# Dashboard → Rescan Library
# Check queue
# Dashboard → Should show pending tasks
# Verify permissions
docker exec unmanic ls -la /library/movies/
Transcoding Fails
# Check worker logs
# Dashboard → Workers → View logs
# Check temp space
df -h /tmp/unmanic/
# Check FFmpeg
docker exec unmanic ffmpeg -version
# Check GPU access
docker exec unmanic ls /dev/dri/
# Common issues:
# - Insufficient temp space
# - GPU not available
# - File format unsupported
High Resource Usage
# Reduce worker count
# Settings → Workers → Decrease count
# Check active workers
docker stats unmanic
# Pause processing
# Dashboard → Pause button
# Schedule processing
# Process during off-hours only
Summary
Unmanic is the library optimizer offering:
- Automatic file processing
- Real-time file watching
- Plugin-based workflows
- Hardware acceleration
- Simple setup
- Free and open-source
Perfect for:
- Continuous optimization
- New file processing
- Format standardization
- Automated workflows
- Simple transcoding needs
Key Points:
- File watcher for automation
- Plugin system for flexibility
- Hardware acceleration support
- Simpler than Tdarr for basic needs
- Real-time processing
Remember:
- Use fast temp directory
- Monitor disk space
- Test plugins before bulk use
- Hardware acceleration recommended
- Works great with Sonarr/Radarr
Unmanic keeps your library optimized automatically!