An organizer for your porn, written in Go
Go to file
WithoutPants 9b31b20fed [Files Refactor] Performance tuning (#2813)
* Do database txn in same thread. Retry on locked db
* Remove captions from slimscenedata
* Fix tracing
* Use where in instead of individual selects
* Remove scenes_query view
* Remove image query view
* Remove gallery query view
* Use where in for FindMany
* Don't interrupt scanning zip files
* Fix image filesize sort
2022-09-06 07:03:42 +00:00
.github Fix golangci OOM (#2889) 2022-09-05 22:12:59 -07:00
.idea Cut over to v2.5 UI (#433) 2020-04-03 08:46:23 +11:00
cmd/stash Don't show dialog box when run from terminal (#2560) 2022-05-05 11:30:10 +10:00
docker Fix local docker builds under new projext org (#2411) 2022-03-22 19:35:42 -07:00
docs Fixed cross-compile doc command (#2825) 2022-08-28 23:02:36 -07:00
graphql [Files Refactor] Performance tuning (#2813) 2022-09-06 07:03:42 +00:00
internal [Files Refactor] bug fixes (#2811) 2022-09-06 07:03:42 +00:00
pkg [Files Refactor] Performance tuning (#2813) 2022-09-06 07:03:42 +00:00
scripts [Files Refactor] Performance tuning (#2809) 2022-09-06 07:03:42 +00:00
ui [Files Refactor] Performance tuning (#2809) 2022-09-06 07:03:42 +00:00
vendor File storage rewrite (#2676) 2022-09-06 07:03:42 +00:00
.dockerignore Replace packr with go embed (#1751) 2021-09-22 13:08:34 +10:00
.gitattributes Refactor build (#493) 2020-04-29 12:13:08 +10:00
.gitignore Separate graphql API from rest of the system (#2503) 2022-09-06 07:03:40 +00:00
.golangci.yml Fix golangci OOM (#2889) 2022-09-05 22:12:59 -07:00
.gqlgenc.yml Fix submission of scene drafts without performers (#2515) 2022-04-18 10:43:27 +10:00
LICENSE Add LICENSE until we get all signers on the switch (#297) 2020-01-20 22:18:12 -05:00
Makefile Remove windowsgui from cross-compile-windows build target 2022-05-04 17:15:28 +10:00
README.md Update README.md 2022-05-25 19:35:24 -07:00
go.mod File storage rewrite (#2676) 2022-09-06 07:03:42 +00:00
go.sum File storage rewrite (#2676) 2022-09-06 07:03:42 +00:00
gqlgen.yml File storage rewrite (#2676) 2022-09-06 07:03:42 +00:00
tools.go Apple Silicon Support, Bump Go to 1.17, refactor docker/build/x86_64/Dockerfile (#1646) 2021-09-08 15:30:15 +10:00

README.md

Stash

https://stashapp.cc

Build Docker pulls Go Report Card Discord

Stash is a self-hosted webapp written in Go which organizes and serves your porn.

demo image

  • Stash gathers information about videos in your collection from the internet, and is extensible through the use of community-built plugins for a large number of content producers and sites.
  • Stash supports a wide variety of both video and image formats.
  • You can tag videos and find them later.
  • Stash provides statistics about performers, tags, studios and more.

You can watch a SFW demo video to see it in action.

For further information you can read the in-app manual.

Installing Stash

Windows MacOS Linux Docker
Latest Release
Development Preview
Latest Release (Apple Silicon)
Development Preview (Apple Silicon)
Latest Release (Intel)
Development Preview (Intel)
Latest Release (amd64)
Development Preview (amd64)
More Architectures...
Instructions
Sample docker-compose.yml

First Run

Windows Users: Security Prompt

Running the app might present a security prompt since the binary isn't yet signed. Bypass this by clicking "more info" and then the "run anyway" button.

FFMPEG

Stash requires ffmpeg. If you don't have it installed, Stash will download a copy for you. It is recommended that Linux users install ffmpeg from their distro's package manager.

Usage

Quickstart Guide

Stash is a web-based application. Once the application is running, the interface is available (by default) from http://localhost:9999.

On first run, Stash will prompt you for some configuration options and media directories to index, called "Scanning" in Stash. After scanning, your media will be available for browsing, curating, editing, and tagging.

Stash can pull metadata (performers, tags, descriptions, studios, and more) directly from many sites through the use of scrapers, which integrate directly into Stash.

Many community-maintained scrapers are available for download at the Community Scrapers Collection. The community also maintains StashDB, a crowd-sourced repository of scene, studio, and performer information, that can automatically identify much of a typical media collection. Inquire in the Discord for details. Identifying an entire collection will typically require a mix of multiple sources.

StashDB is the canonical instance of our open source metadata API, stash-box.

Translation

Translate 🇧🇷 🇨🇳 🇩🇰 🇳🇱 🇬🇧 🇫🇮 🇫🇷 🇩🇪 🇮🇹 🇯🇵 🇰🇷 🇵🇱 🇪🇸 🇸🇪 🇹🇼 🇹🇷

Stash is available in 16 languages (so far!) and it could be in your language too. If you want to help us translate Stash into your language, you can make an account at translate.stashapp.cc to get started contributing new languages or improving existing ones. Thanks!

Support (FAQ)

Answers to other Frequently Asked Questions can be found on our Wiki

For issues not addressed there, there are a few options.

  • Read the Wiki
  • Check the in-app documentation, in the top right corner of the app (also available here
  • Join the Discord server, where the community can offer support.

Customization

Themes and CSS Customization

There is a directory of community-created themes on our Wiki, along with instructions on how to install them.

You can also make Stash interface fit your desired style with Custom CSS snippets.

For Developers

Pull requests are welcome!

See Development and Contributing for information on working with the codebase, getting a local development setup, and contributing changes.