A comprehensive Dockerized application for unRAID servers that provides detailed disk usage analysis, media management, and storage optimization tools.
- Disk Usage Visualization: Treemap and sunburst charts for visual storage analysis
- Media Management: Automatic detection and metadata extraction for TV shows and movies
- Duplicate Detection: Find and manage duplicate files efficiently
- Storage Analytics: Track storage usage over time with customizable timeframes
- File Management: Delete, move, and organize files with trash bin functionality
- Theme Support: Multiple themes including Plex and unRAID styles
- Responsive Design: Works on desktop, tablet, and mobile devices
-
Clone the repository:
git clone <repository-url> cd storage-manager
-
Build and run:
chmod +x build.sh ./build.sh docker-compose up -d
-
Access the application: Open your browser and navigate to
http://localhost:8080
docker run -d \
--name unraid-storage-analyzer \
-p 8080:8080 \
-v /data:/data:ro \
-v /path/to/app/data:/app/data \
--restart unless-stopped \
unraid-storage-analyzer:latestSCAN_TIME: Daily scan time (default: "01:00")DATA_PATH: Path to scan (default: "/data")MAX_SCAN_DURATION: Maximum scan duration in hours (default: 6)FLASK_ENV: Environment mode (development/production)
- Python 3.9+
- Node.js 16+
- Docker
chmod +x dev-setup.sh
./dev-setup.sh-
Backend Setup:
cd backend python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt python app.py
-
Frontend Setup:
cd frontend npm install npm run dev -
Docker Build:
chmod +x build.sh ./build.sh
- Start the application using Docker or development setup
- Navigate to the Dashboard and click "Start Scan"
- Wait for the scan to complete (this may take several hours for large storage)
- Explore the results in the various sections:
- Dashboard: Overview and statistics
- Files: Browse and manage files
- Media: View media files with metadata
- Analytics: Storage usage trends
- Settings: Configure the application
- File Browsing: Search, filter, and sort files by various criteria
- Media Detection: Automatic identification of movies, TV shows, and music
- Storage Analytics: Track usage over time with interactive charts
- Theme Switching: Choose between unRAID, Plex, dark, and light themes
- Trash Bin: Safe file deletion with restore capability
- Database Reset: Clean slate option in settings
- Large Storage: For 70TB+ storage, initial scans may take 6+ hours
- Memory Usage: Application uses SQLite for efficiency
- Scan Scheduling: Configure automatic daily scans during low-usage periods
- File System: Supports all file systems handled by unRAID
- Backend: Python Flask API with SQLite database
- Frontend: React with TypeScript and Tailwind CSS
- Scanner: Efficient file system scanner with media detection
- Database: SQLite for persistence and scan history
- Themes: CSS custom properties for easy theme switching
- Permission Denied: Ensure Docker has read access to
/data - Scan Timeout: Increase
MAX_SCAN_DURATIONenvironment variable - Memory Issues: Monitor container memory usage during large scans
- Database Corruption: Use the reset database option in settings
- Application Logs:
/app/logs/app.loginside container - Docker Logs:
docker logs unraid-storage-analyzer
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License