Scanly: The Ultimate Free & Open-Source Media Organizer for Movies, TV Shows, and Anime (With Plex & Discord Integration)
Scanly is a free and open-source smart, automated media organizer, the ultimate tool to clean up and structure your movie, TV show, and anime collection in seconds.
It scans your folders, intelligently categorizes each file (whether it’s a film, series, season, episode, or OVA), and organizes everything using symlinks or hardlinks, so your original files stay untouched, saving space and keeping everything synced.

Powered by The Movie Database (TMDB), Scanly pulls accurate metadata: posters, titles, descriptions, ratings, and more, ensuring your library looks professional and stays searchable.
Customize your folder structure any way you like, by year, resolution (4K, 1080p), genre, or even anime season, making it perfect for Plex, Synology, home theater setups, or just peace of mind.
Features
- Media Organization: Scans directories for media files and organizes them using symlinks or hardlinks.
- Metadata Integration: Fetches accurate metadata for TV shows and movies using the TMDB API.
- Content Type Detection: Automatically detects and separates movies, TV, anime, and more.
- Customizable Structure: Supports custom folder structures and resolution-based organization.
- Anime Separation: Detects and organizes anime content separately.
- Resume & Skipped Items: Tracks scan progress and skipped items for reliable, resumable operations.
- Plex Integration: Supports Plex library refreshes after organizing media.
- Discord Notifications: Sends notifications to Discord via webhooks for key events.
- Monitoring: Watches directories for new files and auto-processes them.
- Scanner Lists: Maintains and manages lists of known media for fast matching.
- Docker Support: Easily run Scanly in a containerized environment.
Install with Python
To install it with Python you need to make sure that you have Python 3.6, and Git installed!
git clone https://github.com/amcgready/Scanly.git
cd Scanly
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Install with Docker
First have Docker and Docker Compose installed on your machine, Then inside your project folder.
docker compose up --buildWith Docker compose:
services:
scanly:
build: .
environment:
- TMDB_API_KEY=your_tmdb_api_key_here
- DESTINATION_DIRECTORY=/media/library
volumes:
- ./logs:/app/logs
- ./data:/app/data
- /path/to/your/media:/media/source:ro
- /path/to/your/library:/media/libraryScanner Lists
Scanly uses scanner lists to match and organize known media. These are stored as JSON files in data/ (e.g., movie_scanner.json, tv_scanner.json). You can edit these lists to add or remove entries.
Advanced Features
- Plex Integration: Set
PLEX_URLandPLEX_TOKENin your.envto enable automatic Plex library refreshes. - Discord Webhooks: Set
DISCORD_WEBHOOK_URLto receive notifications for new links, deletions, and repairs. - Monitoring: Enable directory monitoring for automatic processing of new files.
- Custom Folder Structure: Adjust folder names and resolution-based organization in your
.env.

License
This project is licensed under the MIT License.

