Skip to Content
Autoscan

Autoscan

Intelligent real-time media library scanner for Plex, Emby, and Jellyfin

Autoscan - Smart Library Scanner

Autoscan is an intelligent media library scanning tool that replaces the default file system monitoring behavior of Plex, Emby, and Jellyfin. Instead of slow periodic scans, Autoscan uses webhooks and real-time notifications to detect new media instantly, making your library updates lightning-fast.


What is Autoscan?

Autoscan integrates with your media automation stack to provide:

  • Instant Library Updates - New media appears immediately after download
  • Webhook Integration - Connects with Sonarr, Radarr, Lidarr, and more
  • Cloud Storage Support - Works with Google Drive and RClone mounts
  • Smart Scanning - Only scans what changed, not your entire library
  • Multi-Server Support - Trigger scans across Plex, Emby, and Jellyfin simultaneously

Why Use Autoscan?

Traditional media server scanning relies on periodic file system checks that can take 5-15 minutes. Autoscan reduces this to seconds by receiving direct notifications when new media is added, eliminating the wait and reducing server load.


Installation

Install Autoscan

Install Autoscan for a specific user:

qb install autoscan -u username

Prerequisites

Autoscan requires at least one media server installed:

  • Plex, Emby, or Jellyfin

And works best with download automation tools:

  • Sonarr, Radarr, Lidarr, or RClone

Installation Process

During installation, Autoscan will automatically:

  1. Detect Installed Media Servers - Finds Plex, Emby, and/or Jellyfin
  2. Configure Webhooks - Sets up triggers for Sonarr, Radarr, and Lidarr
  3. Extract API Tokens - Retrieves authentication credentials automatically
  4. Map Library Paths - Discovers your media library locations
  5. Setup RClone Integration - Configures inotify monitoring if RClone is installed

Automatic Configuration

QuickBox Pro’s Autoscan installer automatically detects and configures all compatible applications on your system. No manual configuration required for basic operation!


CLI Commands

Basic Operations

CommandDescription
qb install autoscan -u usernameInstall Autoscan with auto-configuration
qb reinstall autoscan -u usernameReinstall (preserves config)
qb update autoscan -u usernameUpdate to latest version
qb remove autoscan -u usernameRemove Autoscan completely

Usage Examples

Install Autoscan:

qb install autoscan -u myuser

Update Autoscan:

qb update autoscan -u myuser

Reinstall (fix corrupted installation):

qb reinstall autoscan -u myuser

Remove Autoscan and clean up:

qb remove autoscan -u myuser

How It Works

Architecture Overview

Autoscan operates as a webhook receiver that listens for notifications from your media automation tools:

Sonarr/Radarr → Download Complete → Webhook to Autoscan → Plex/Emby/Jellyfin Scan

Traditional Scanning:

  1. Media server checks entire library every 5-15 minutes
  2. High disk I/O and CPU usage
  3. 5-15 minute delay before new media appears

Autoscan Scanning:

  1. Download completes in Sonarr/Radarr
  2. Webhook sent to Autoscan immediately
  3. Autoscan triggers targeted scan of only the new file
  4. Media appears in 5-10 seconds

Supported Integrations

QuickBox Pro automatically configures Autoscan with your installed applications:

📺

Media Servers

🎬

Download Automation

☁️

Cloud Storage

RCloneGoogle Driveinotify Monitoring
🔐

Security Features

HTTP AuthenticationWebhook ProtectionPort ConfigurationUser Isolation

Enhanced Features

Autoscan on QuickBox Pro includes several advanced features:

Instant Updates

Media appears in your library within seconds of download completion, not minutes

🔄 Auto-Configuration

Automatically detects and configures all installed media servers and *arr applications

🎯 Smart Scanning

Only scans changed files instead of entire libraries, reducing server load significantly

☁️ Cloud Integration

inotify monitoring for RClone mounts with real-time Google Drive detection

🔒 User Isolation

Per-user configuration and service instances for secure multi-user environments

📊 Priority Queue

Intelligent request prioritization ensures critical scans complete first


Configuration

Configuration File Structure

Autoscan’s configuration is located at:

/home/username/.config/Autoscan
config.yml# Main configuration file
db/# Database storage
logs/# Application logs

Key Configuration Options

Scan Timing:

minimum-age: 2m30s # Wait time before scanning (prevents incomplete files) scan-delay: 15s # Delay between scan requests (batch similar events)

Authentication:

authentication: username: your_username password: your_password

Webhook Port:

port: 3070 # Port for receiving webhooks

Minimum Age Setting

The minimum-age setting prevents Autoscan from scanning files that are still being written. 2m30s is recommended to ensure complete file transfers before scanning.


Setting Up Webhooks

Sonarr Webhook Configuration

  1. Open Sonarr → Settings → Connect
  2. Click the + icon → Select Webhook
  3. Configure:
    • Name: Autoscan
    • URL: http://localhost:3070/triggers/sonarr
    • Method: POST
    • Username: Your Autoscan username
    • Password: Your Autoscan password
  4. Select triggers: On Import, On Upgrade
  5. Click Test then Save

Radarr Webhook Configuration

  1. Open Radarr → Settings → Connect
  2. Click the + icon → Select Webhook
  3. Configure:
    • Name: Autoscan
    • URL: http://localhost:3070/triggers/radarr
    • Method: POST
    • Username: Your Autoscan username
    • Password: Your Autoscan password
  4. Select triggers: On Import, On Upgrade
  5. Click Test then Save

Lidarr Webhook Configuration

  1. Open Lidarr → Settings → Connect
  2. Click the + icon → Select Webhook
  3. Configure:
    • Name: Autoscan
    • URL: http://localhost:3070/triggers/lidarr
    • Method: POST
    • Username: Your Autoscan username
    • Password: Your Autoscan password
  4. Select triggers: On Import, On Upgrade
  5. Click Test then Save

Multiple Instances

If you have Sonarr4K or Radarr4K, configure them with /triggers/sonarr4k and /triggers/radarr4k respectively. Autoscan handles both instances automatically!


Service Management

Autoscan runs as a systemd service for reliable operation:

Check Service Status

systemctl status autoscan@username

Restart Service

systemctl restart autoscan@username

View Live Logs

journalctl -u autoscan@username -f

Stop Service

systemctl stop autoscan@username

Start Service

systemctl start autoscan@username

Automatic Startup

Autoscan is configured to start automatically on system boot and restart on failure for maximum reliability.


Advanced Features

RClone + inotify Integration

When RClone is installed, Autoscan automatically configures inotify monitoring for cloud storage:

Benefits:

  • Real-time detection of files uploaded to Google Drive
  • Instant library updates for cloud-based media
  • Reduced API polling (better for API quotas)

Configuration:

triggers: inotify: - priority: 0 include: - ^/home/username/rclone/gmedia/ exclude: - '\.(srt|pdf|jpg|bmp|png|ico|nfo)$'

Manual Triggers

Trigger a scan manually via HTTP request:

curl -X POST http://username:password@localhost:3070/triggers/manual \ -H "Content-Type: application/json" \ -d '{"path": "/path/to/media/folder"}'

Priority System

Autoscan uses a priority queue for scan requests:

PrioritySourceTypical Use
0inotifyReal-time file system changes
1WebhooksSonarr/Radarr/Lidarr notifications
2ManualUser-initiated scans

Lower numbers = higher priority = scanned first.


Troubleshooting

Common Issues

Webhooks not triggering scans:

# Check if Autoscan is running systemctl status autoscan@username # View recent logs for errors journalctl -u autoscan@username -n 50 # Test webhook manually curl -X POST http://username:password@localhost:3070/triggers/manual \ -H "Content-Type: application/json" \ -d '{"path": "/home/username/media/Movies"}'

Scans taking too long:

Check your minimum-age setting - if it’s too high, scans will be delayed:

nano /home/username/.config/Autoscan/config.yml # Adjust: minimum-age: 2m30s (or lower)

Authentication errors:

Verify webhook credentials match your config:

cat /home/username/.config/Autoscan/config.yml | grep -A 2 authentication

Media server not responding:

Check if your media server is running and accessible:

# For Plex systemctl status plexmediaserver # For Emby systemctl status emby-server@username # For Jellyfin systemctl status jellyfin@username

Debug Mode

Enable verbose logging for troubleshooting:

# Stop service systemctl stop autoscan@username # Run manually with debug output cd /opt/username/Autoscan ./autoscan --config=/home/username/.config/Autoscan/config.yml --verbosity=debug

Performance Tips

Scan Delay Optimization

Do

  • Use minimum-age of 2m30s for balanced performance and reliability
  • Configure scan-delay of 15s to batch similar events efficiently
  • Exclude metadata files (.nfo, .jpg, .srt) from inotify triggers
  • Use priority 0 for inotify (real-time) and priority 1 for webhooks
  • Test webhooks manually with curl before relying on automation

Don't

  • Don't set minimum-age below 30s - files may be incomplete
  • Don't forget to configure authentication for webhook security
  • Don't run Autoscan as root - use per-user service instances
  • Don't skip webhook testing in Sonarr/Radarr settings
  • Don't use aggressive scan delays on limited hardware

Aggressive (instant updates, higher load):

minimum-age: 30s scan-delay: 5s

Balanced (recommended):

minimum-age: 2m30s scan-delay: 15s

Conservative (batch updates, lower load):

minimum-age: 5m scan-delay: 30s

Exclude Unnecessary Files

Reduce unnecessary scans by excluding metadata files:

triggers: inotify: - exclude: - '\.(srt|sub|idx|nfo|jpg|png|txt|md)$' - '/._' - '\.DS_Store$'

Use Cases

Automated Media Pipeline

Create a fully automated media delivery system:

  1. Sonarr/Radarr monitors shows/movies
  2. Download client fetches media
  3. Autoscan detects completion via webhook
  4. Plex/Emby/Jellyfin scans only the new file
  5. Media appears in your library within seconds

Cloud Storage Integration

Perfect for users with Google Drive or other cloud storage:

  1. Upload media to Google Drive
  2. RClone mounts drive locally
  3. Autoscan’s inotify detects new files
  4. Media server scans immediately
  5. Stream your cloud library instantly

Multi-Server Setups

Run Plex and Jellyfin simultaneously:

  • Autoscan triggers scans on both servers
  • Single webhook from Sonarr/Radarr updates all libraries
  • Perfect for users transitioning between platforms

Autoscan works seamlessly with these applications:

Compatible Applications

Install these applications alongside Autoscan for a complete media automation stack

📺

Media Servers

🎬

PVR Applications

☁️

Cloud Storage


Resources


Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server