Stash Media Organizer
Stash organizer and player for adult media collections.
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
- 1Personal media server for organizing and streaming large video collections with privacy
- 2Content verification and duplicate elimination for media archival projects
- 3Research and academic environments requiring detailed media categorization and analysis
- 4Digital asset management for content creators tracking source material and references
- 5Home media center integration for users seeking advanced organization beyond Plex or Jellyfin
- 6Collection management for media enthusiasts requiring detailed performer and studio tracking
- 7Automated 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
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 interfaceUsage Notes
- 1Web UI at http://localhost:9999
- 2Initial setup wizard
- 3Automatic metadata scraping
- 4Scene fingerprinting
- 5Plugin 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 -fOne-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 | bashTroubleshooting
- 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
Ad Space
Shortcuts: C CopyF FavoriteD Download