
Stash
Self-hosted media organizer and server that tags, scrapes metadata for, and streams your video and image collection, including NSFW content.
Open source alternative to:
Stash is a self-hosted web application written in Go that indexes, tags, and serves a personal collection of videos and images. You point it at one or more folders, it scans and fingerprints the files, generates thumbnails, previews and sprites with FFmpeg, and keeps the catalog in an embedded SQLite database. The interface runs in a browser at localhost:9999; Windows, macOS and Linux builds run it as a background service with a tray icon, and Docker is the usual choice for a home server.
Metadata is the main draw. Stash pulls titles, performers, studios, tags and cover images from StashDB, other stash-box instances, and community-maintained scrapers and plugins. The Identify task walks the library and matches scenes automatically, while the scene tagger, duplicate checker, galleries and performer/studio statistics handle the rest. Everything is extensible through JavaScript plugins, custom CSS themes and a GraphQL API.
Compared with Plex or Emby, Stash is built around tagging, scraping and curating a library rather than a polished TV-style interface, and it adds the adult metadata sources those servers lack. Against cloud photo libraries and paid asset managers such as Eagle, it keeps the catalog on your own hardware with no subscription, under the AGPL-3.0 license.
Categories:
Frequently Asked Questions
Which platforms does Stash run on?
Stash runs as a web app on Windows 10 or later, macOS 12 Monterey or later, and Linux, and there is an official Docker image for home servers and NAS devices. The desktop builds start a local server and open the interface at http://localhost:9999, with a tray icon for quick links and quitting. The Docker image bundles FFmpeg, while the standalone builds prompt you to download it during setup if it is missing.
What authentication options does Stash support?
By default Stash has no password protection at all, which is why the documentation recommends keeping it on a trusted network or behind a reverse proxy. You can set a single username and password under Settings, Security, Authentication, and when password protection is enabled you can generate an API key that external tools send in the ApiKey header. There is no multi-user account system, LDAP, SSO or two-factor authentication.
Does Stash have an API?
Yes, Stash exposes a GraphQL API at /graphql, which is localhost:9999/graphql by default, with an introspective, self-documenting schema. An integrated playground under Settings, Tools, GraphQL playground lets you run queries and browse the schema, and requests authenticate with the ApiKey header when password protection is on. The same API is what the web UI and community integrations use.
How does Stash identify and tag existing files?
Point Stash at your library folders and it scans and fingerprints each file, then the Identify task matches scenes against StashDB, other stash-box instances and installed scrapers in the order you choose. Matches can fill in title, studio, performers, tags, dates and cover images, with per-field strategies for ignoring, overwriting or merging existing values. Community scrapers and plugins add support for sites and databases not covered by the default sources.
What do I need to run Stash?
A small always-on machine is enough: Stash keeps its catalog in a single SQLite database inside its config directory, so there is no external database server to run. FFmpeg is required for thumbnails, previews and transcoding; the Docker image includes it, but on bare Linux you install it from your distribution's package manager. Docker deployments typically mount separate volumes for config, media, metadata, cache, blobs and generated files.
OpenAltFinder Score
Project Details
Repository details
Updated 11/5/2026, 11:00:53 AM
View RepositoryGet the latest open source alternatives delivered weekly.
Discover tools that give you freedom from proprietary software.
Compare Stash with
Similar open source alternatives

Parados
A simple, lightweight home media server for UNIX systems.
Plex
TagStudio
Tag and organize photos and files in place, with a tag library stored next to your folders instead of a proprietary catalog.
Eagle
Arcadeia
Self-hosted photo and video library with animated thumbnails, full-text search, and optional local speech transcription.
Google Photos
Home Gallery
Self-hosted open-source web gallery for photos and videos with AI-powered image discovery, face detection, and tagging.
Google Photos
FerrumPix
Desktop photo manager and image editor for Linux, Windows, and macOS with RAW development, batch processing, and Immich/Nextcloud integration.
Google Photos
Monbooru
Self-hosted, booru-style gallery that tags, searches and deduplicates a local image, video and comic collection.
Google Photos




