2d73912f15
* Add types to graphql scalars * Upgrade dependencies * Override UI config type * Remove all IUIConfig casts * Add tableColumns to IUIConfig * Add BoolMap type, set strictScalars * Add PluginConfigMap * Replace any with unknown * Add SavedObjectFilter and SavedUIOptions * Remove unused items from CriterionType |
||
---|---|---|
.github | ||
.idea | ||
cmd | ||
docker | ||
docs | ||
graphql | ||
internal | ||
pkg | ||
scripts | ||
ui | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.golangci.yml | ||
.gqlgenc.yml | ||
.mockery.yml | ||
LICENSE | ||
Makefile | ||
README.md | ||
go.mod | ||
go.sum | ||
gqlgen.yml | ||
tools.go |
README.md
Stash
Stash is a self-hosted webapp written in Go which organizes and serves your porn.
- 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 consult the documentation or read the in-app manual.
Installing Stash
Download links for other platforms and architectures are available on the Releases page.
First Run
Windows/macOS Users: Security Prompt
On Windows or macOS, running the app might present a security prompt since the binary isn't yet signed.
On Windows, bypass this by clicking "more info" and then the "run anyway" button. On macOS, Control+Click the app, click "Open", and then "Open" again.
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 from CommunityScrapers repository. 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
🇧🇷 🇨🇳 🇩🇰 🇳🇱 🇬🇧 🇪🇪 🇫🇮 🇫🇷 🇩🇪 🇮🇹 🇯🇵 🇰🇷 🇵🇱 🇷🇺 🇪🇸 🇸🇪 🇹🇼 🇹🇷
Stash is available in 25 languages (so far!) and it could be in your language too. We use Weblate to coordinate community translations. If you want to help us translate Stash into your language, you can make an account at Stash's Weblate to get started contributing new languages or improving existing ones. Thanks!
Support (FAQ)
Check out our documentation on Stash-Docs for information about the software, questions, guides, add-ons and more.
For more help you can:
- Check the in-app documentation, in the top right corner of the app (it's also mirrored on Stash-Docs)
- Join the Matrix space
- Join the Discord server, where the community can offer support.
- Start a discussion on GitHub
Customization
Themes and CSS Customization
There is a directory of community-created themes on Stash-Docs, along with instructions on how to install them.
You can also change the Stash interface to fit your desired style with various snippets from 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.