Stash Media Organizer
Stash organizer and player for adult media collections.
[i]Overview
Stash is an open-source media organizer and player specifically designed for adult content collections, developed to address the unique challenges of organizing, cataloging, and managing large video libraries with comprehensive metadata support. The application provides automatic scene detection, performer identification, studio tagging, and sophisticated search capabilities that go far beyond basic file management systems. Stash uses advanced fingerprinting technology to identify duplicate content, scrapes metadata from multiple sources, and offers detailed tagging systems that allow users to organize content by performers, studios, tags, and custom categories. This Docker deployment creates a self-contained media management server that processes your existing video collection, generates thumbnails and previews, extracts metadata, and provides a responsive web interface for browsing and playback. The containerized approach ensures consistent performance across different host systems while maintaining data persistence through dedicated volumes for configuration, generated content, metadata, and cache storage. Organizations and individuals managing large media collections will find this solution particularly valuable for its ability to automatically organize thousands of files, eliminate duplicates, and provide sophisticated search and filtering capabilities that would be impossible to achieve manually.
[*]Key Features
- [+]Automatic scene fingerprinting and duplicate detection using StashDB integration
- [+]Multi-source metadata scraping from various adult industry databases and APIs
- [+]Advanced performer and studio identification with facial recognition capabilities
- [+]Comprehensive tagging system with hierarchical tag organization and bulk operations
- [+]Built-in video player with chapter support, bookmark functionality, and playback statistics
- [+]Plugin ecosystem supporting custom scrapers, automation scripts, and third-party integrations
- [+]Intelligent thumbnail and sprite generation for quick visual browsing and seeking
- [+]Advanced search engine supporting complex queries across all metadata fields and custom filters
[#]Common Use Cases
- [1]Personal media server for organizing and streaming large video collections with privacy
- [2]Content verification and duplicate elimination for media archival projects
- [3]Research and academic environments requiring detailed media categorization and analysis
- [4]Digital asset management for content creators tracking source material and references
- [5]Home media center integration for users seeking advanced organization beyond Plex or Jellyfin
- [6]Collection management for media enthusiasts requiring detailed performer and studio tracking
- [7]Automated content processing workflows for organizations managing large video archives
[!]Prerequisites
- [!]Docker and Docker Compose installed with at least 4GB RAM allocated to containers
- [!]Sufficient disk space for generated thumbnails and metadata (approximately 10-20% of media size)
- [!]Port 9999 available on the host system for web interface access
- [!]Read access to media directories that will be mounted into the container
- [!]Basic understanding of Docker volume management for backup and data migration
- [!]Network connectivity for metadata scraping and StashDB integration during setup
[!]
WARNING: For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
[$]docker-compose.yml
[docker-compose.yml]
1services: 2 stash: 3 image: stashapp/stash:latest4 container_name: stash5 environment: 6 - STASH_STASH=/data/7 - STASH_GENERATED=/generated/8 - STASH_METADATA=/metadata/9 - STASH_CACHE=/cache/10 volumes: 11 - stash_config:/root/.stash12 - /path/to/media:/data13 - stash_generated:/generated14 - stash_metadata:/metadata15 - stash_cache:/cache16 ports: 17 - "9999:9999"18 restart: unless-stopped19 networks: 20 - stash-network2122volumes: 23 stash_config: 24 stash_generated: 25 stash_metadata: 26 stash_cache: 2728networks: 29 stash-network: 30 driver: bridge[$].env Template
[.env]
1# Stash2# Configuration via web interface[i]Usage Notes
- [1]Web UI at http://localhost:9999
- [2]Initial setup wizard
- [3]Automatic metadata scraping
- [4]Scene fingerprinting
- [5]Plugin support
[>]Quick Start
[terminal]
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 stash:5 image: stashapp/stash:latest6 container_name: stash7 environment:8 - STASH_STASH=/data/9 - STASH_GENERATED=/generated/10 - STASH_METADATA=/metadata/11 - STASH_CACHE=/cache/12 volumes:13 - stash_config:/root/.stash14 - /path/to/media:/data15 - stash_generated:/generated16 - stash_metadata:/metadata17 - stash_cache:/cache18 ports:19 - "9999:9999"20 restart: unless-stopped21 networks:22 - stash-network2324volumes:25 stash_config:26 stash_generated:27 stash_metadata:28 stash_cache:2930networks:31 stash-network:32 driver: bridge33EOF3435# 2. Create the .env file36cat > .env << 'EOF'37# Stash38# Configuration via web interface39EOF4041# 3. Start the services42docker compose up -d4344# 4. View logs45docker compose logs -f[>]One-Liner
Run this command to download and set up the recipe in one step:
[terminal]
1curl -fsSL https://docker.recipes/api/recipes/stash-adult-media/run | bash[?]Troubleshooting
- [!]Stash fails to start with permission errors: Ensure media directories have proper read permissions and Docker daemon has access to mounted paths
- [!]Web interface shows 'Database locked' error: Stop the container cleanly, check for corrupted database files in the config volume, and restart with proper shutdown procedures
- [!]Scanning stops or freezes during large imports: Increase Docker container memory allocation and ensure sufficient disk space for temporary processing files
- [!]Thumbnails not generating for certain video formats: Install additional video processing libraries in the container or convert media to supported formats like MP4 or MKV
- [!]Plugin installation fails with permission errors: Verify the plugins directory has write permissions and restart Stash after plugin installation
- [!]StashDB scraping returns no results: Check internet connectivity from container and verify StashDB API endpoints are accessible through firewall
Community Notes
Loading...
Loading notes...
## Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
## Components
stash
## Tags
#stash#media-organizer#video#tagging#metadata
## Category
Media & EntertainmentShortcuts: C CopyF FavoriteD Download