No description
Find a file
2019-02-10 23:35:53 -08:00
.idea Initial commit 2019-02-09 04:32:50 -08:00
api Added scene preview generator 2019-02-10 00:41:06 -08:00
certs Initial commit 2019-02-09 04:32:50 -08:00
database Fixed database locking issue when importing 2019-02-10 12:47:34 -08:00
ffmpeg FFMPEG auto download 2019-02-10 23:18:48 -08:00
logger Moved everything out of internal 2019-02-09 18:53:08 -08:00
manager Forgot some stuff 2019-02-10 23:35:53 -08:00
models Updated some file paths 2019-02-09 19:02:24 -08:00
packrd Updated some file paths 2019-02-09 19:02:24 -08:00
schema Initial commit 2019-02-09 04:32:50 -08:00
scraper Moved everything out of internal 2019-02-09 18:53:08 -08:00
scripts Added Travis CI 2019-02-10 08:54:32 -08:00
ui/v1 Initial commit 2019-02-09 04:32:50 -08:00
utils FFMPEG auto download 2019-02-10 23:18:48 -08:00
vendor Updated dependencies 2019-02-09 16:56:50 -08:00
.gitignore Initial commit 2019-02-09 04:32:50 -08:00
.goreleaser.yml Added Travis CI 2019-02-10 08:54:32 -08:00
.travis.yml Updated travis config 2019-02-10 23:26:26 -08:00
go.mod Updated dependencies 2019-02-09 16:56:50 -08:00
go.sum Updated dependencies 2019-02-09 16:56:50 -08:00
gqlgen.yml Updated some file paths 2019-02-09 19:02:24 -08:00
LICENSE Initial commit 2019-02-09 04:32:50 -08:00
main-packr.go Initial commit 2019-02-09 04:32:50 -08:00
main.go Forgot some stuff 2019-02-10 23:35:53 -08:00
main_test.go Added Travis CI 2019-02-10 08:54:32 -08:00
Makefile Added Travis CI 2019-02-10 08:54:32 -08:00
README.md FFMPEG auto download 2019-02-10 23:18:48 -08:00

Stash

Build Status

Stash is a Go app which organizes and serves your porn.

See a demo here (password is stashapp).

TODO: This is not match the features of the Rails project quite yet. Consider using that until this project is complete.

Setup

TODO: This is not final. There is more work to be done to ease this process.

OSX / Linux

  1. mkdir ~/.stash && cd ~/.stash
  2. Create a config.json file (see below).
  3. Run stash with ./stash and visit http://localhost:9998 or https://localhost:9999

Windows

  1. Create a new folder at C:\Users\YourUsername\.stash
  2. Create a config.json file (see below)
  3. Run stash with ./stash and visit http://localhost:9998 or https://localhost:9999

FFMPEG

If stash is unable to find or download FFMPEG then download it yourself from the link for your platform:

The ffmpeg(.exe) and ffprobe(.exe) files should be placed in ~/.stash on macOS / Linux or C:\Users\YourUsername\.stash on Windows.

Config.json

Example:

OSX / Linux

{
  "stash": "/Volumes/Drobo/videos",
  "metadata": "/Volumes/Drobo/stash/metadata",
  "cache": "/Volumes/Drobo/stash/cache",
  "downloads": "/Volumes/Drobo/stash/downloads"
}

Windows

{
  "stash": "C:\\Videos",
  "metadata": "C:\\stash\\metadata",
  "cache": "C:\\stash\\cache",
  "downloads": "C:\\stash\\downloads"
}

Development

Environment

macOS

TODO

Windows

  1. Download and install Go for Windows
  2. Download and install MingW
  3. Search for "advanced system settings" and open the system properties dialog.
    1. Click the Environment Variables button
    2. Add GO111MODULE=on
    3. Under system variables find the Path. Edit and add C:\Program Files\mingw-w64\*\mingw64\bin (replace * with the correct path).

Commands

  • make build - Builds the binary
  • make gqlgen - Regenerate Go GraphQL files

Building a release

  1. cd into the UI directory and run ng build --prod
  2. cd back to the root directory and run make build to build the executable

Notes for the dev

https://blog.filippo.io/easy-windows-and-linux-cross-compilers-for-macos/

docker run --rm --mount type=bind,source="$(pwd)",target=/stash -w /stash -i -t bepsays/ci-goreleaser:1.11-2 /bin/bash