whatisgithub

What is stash?

stashapp/stash — explained in plain English

Analysis updated 2026-06-24

12,334GoAudience · generalComplexity · 3/5Setup · moderate

In one sentence

A self-hosted web app for organizing a local video and image collection, scan folders, tag content, and browse everything through a web browser on your own server.

Mindmap

mindmap
  root((stash))
    What it does
      Media folder scanning
      Tag and browse
      Metadata scraping
      Multi-language UI
    Tech Stack
      Go
      Docker
      FFmpeg
      GraphQL
    Use Cases
      Local media library
      Performer tagging
      Home server access
    Audience
      Personal media collectors
      Home server users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Scan a large local video folder and build a searchable, tagged library you can browse in any browser.

USE CASE 2

Automatically pull performer names, descriptions, and cover images from StashDB and community scrapers.

USE CASE 3

Run Stash in Docker on a home server so multiple devices can access the library over your local network.

USE CASE 4

Install community-contributed scrapers from within the app to pull metadata from additional websites.

What is it built with?

GoDockerFFmpegGraphQL

How does it compare?

stashapp/stashtalkgo/nightinfracost/infracost
Stars12,33412,30712,296
LanguageGoGoGo
Setup difficultymoderateeasymoderate
Complexity3/51/53/5
Audiencegeneraldeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires FFmpeg for video processing, available as a pre-built download or Docker image with automatic FFmpeg download.

License type not specified in the explanation.

So what is it?

Stash is a self-hosted web application written in Go that helps you organize and browse a local video and image collection. You run it on your own computer or server, and then access it through a web browser at a local address. The project describes itself as a media organizer for adult content, though the underlying software works with any video or image files. The core workflow starts with pointing Stash at your media folders. It scans those directories and builds a searchable database of everything it finds. From there you can tag content, browse by performer, studio, or tag, and see statistics about your collection. The interface runs in the browser and does not require any external accounts or cloud services. To enrich your library with metadata such as performer names, descriptions, and cover images, Stash connects to several community-run databases. The main one is StashDB, a crowd-sourced repository of scene and studio information maintained by the Stash team. Community-contributed scrapers can also pull data from a wide range of other websites. These scrapers are installable directly from within the app. Stash is available as pre-built downloads for Windows, macOS, and Linux, and as a Docker image. It requires FFmpeg for video processing, which it can download automatically if you do not already have it. The app is available in 32 languages through a community translation effort. The project is open-source and funded through GitHub Sponsors and Open Collective. Documentation lives at a separate site and covers installation, setup, and the scraping workflow in more detail than the README alone.

Copy-paste prompts

Prompt 1
I just set up Stash and it finished scanning my media folder. How do I connect to StashDB and run a metadata scrape to get performer info and cover images?
Prompt 2
How do I install a custom community scraper in Stash and use it to scrape metadata for a specific website?
Prompt 3
Give me a docker-compose.yml example for running Stash on a home server with persistent storage and FFmpeg support.
Prompt 4
How do I organize my Stash library using performers, studios, and tags, and then filter by multiple criteria at once?
Prompt 5
Stash is available in 32 languages, how do I change the interface language in the settings?

Frequently asked questions

What is stash?

A self-hosted web app for organizing a local video and image collection, scan folders, tag content, and browse everything through a web browser on your own server.

What language is stash written in?

Mainly Go. The stack also includes Go, Docker, FFmpeg.

What license does stash use?

License type not specified in the explanation.

How hard is stash to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is stash for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.