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?
Note

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 from the Dashboard

Open App Dashboard → Package Management (/dashboard?mode=packages), find Autoscan in the catalog (browse the Automation category or search), and click Install. The dashboard streams the install log live and Autoscan appears in your Application Control panel when it finishes. Reinstall and Remove are in the same Package Management panel. To update, use the amber Update badge on the Autoscan row in the App Dashboard.

What you see is gated by your account: admins manage any user’s apps; regular users manage their own. See App Management for the full flow.

The installer auto-detects your installed media servers (Plex, Emby, Jellyfin), extracts their API tokens, configures webhook triggers for Sonarr, Radarr, and Lidarr, maps your library paths, and sets up inotify monitoring when RClone is installed — no manual configuration required for basic operation.

Prerequisites
Important

Autoscan requires at least one media server installed (Plex, Emby, or Jellyfin), and works best with download automation tools (Sonarr, Radarr, Lidarr, or RClone). Install those first so the installer can auto-detect and wire them up.

Install from the CLI (automation)

The CLI runs the same scripts as the Dashboard and is suited to automation and scripting:

bash
qb install autoscan -u username
qb reinstall autoscan -u username
qb update autoscan -u username
qb remove autoscan -u username

Full flag reference: CLI Reference.


How It Works

Architecture Overview

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

plaintext
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

3

Cloud Storage

3
RCloneGoogle Driveinotify Monitoring

Security Features

4
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:

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

Key Configuration Options

Scan Timing:

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

Authentication:

yaml
authentication:
  username: your_username
  password: your_password

Webhook Port:

yaml
port: 3070  # Port for receiving webhooks
Minimum Age Setting
Note

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
    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
    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
    Method
    POST
    Username
    Your Autoscan username
    Password
    Your Autoscan password
  4. Select triggers: On Import, On Upgrade

  5. Click Test then Save

Multiple Instances
Tip

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

bash
systemctl status autoscan@username

Restart Service

bash
systemctl restart autoscan@username

View Live Logs

bash
journalctl -u autoscan@username -f

Stop Service

bash
systemctl stop autoscan@username

Start Service

bash
systemctl start autoscan@username
Automatic Startup
Tip

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:

yaml
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:

bash
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:

bash
# 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:

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

Authentication errors:

Verify webhook credentials match your config:

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

Media server not responding:

Check if your media server is running and accessible:

bash
# 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:

bash
# 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):

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

Balanced (recommended):

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

Conservative (batch updates, lower load):

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

Exclude Unnecessary Files

Reduce unnecessary scans by excluding metadata files:

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

Autoscan works seamlessly with these applications:

Compatible Applications

Install these applications alongside Autoscan for a complete media automation stack

Media Servers

3

PVR Applications

3

Cloud Storage

1

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
Last updated on