stash/README.md

2.6 KiB

Stash

Build Status

Stash is a rails 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. Download FFMPEG (macOS, Linux) and extract so that just ffmpeg and ffprobe are in ~/.stash
  3. Create a config.json file (see below).
  4. 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. Download FFMPEG and extract so that just ffmpeg.exe and ffprobe.exe are in C:\Users\YourUsername\.stash
  3. Create a config.json file (see below)
  4. Run stash with ./stash and visit http://localhost:9998 or https://localhost:9999

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