An organizer for your porn, written in Go
Go to file
Stash Dev 16ead91a05 Updated some file paths 2019-02-09 19:02:24 -08:00
.idea Initial commit 2019-02-09 04:32:50 -08:00
api Updated some file paths 2019-02-09 19:02:24 -08:00
certs Initial commit 2019-02-09 04:32:50 -08:00
database Moved everything out of internal 2019-02-09 18:53:08 -08:00
ffmpeg Moved everything out of internal 2019-02-09 18:53:08 -08:00
logger Moved everything out of internal 2019-02-09 18:53:08 -08:00
manager Moved everything out of internal 2019-02-09 18:53:08 -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 Initial commit 2019-02-09 04:32:50 -08:00
ui/v1 Initial commit 2019-02-09 04:32:50 -08:00
utils Moved everything out of internal 2019-02-09 18:53:08 -08:00
vendor Updated dependencies 2019-02-09 16:56:50 -08:00
.gitignore Initial commit 2019-02-09 04:32:50 -08:00
LICENSE Initial commit 2019-02-09 04:32:50 -08:00
Makefile Updated dependencies 2019-02-09 16:56:50 -08:00
README.md README update 2019-02-09 18:01:00 -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
main-packr.go Initial commit 2019-02-09 04:32:50 -08:00
main.go Moved everything out of internal 2019-02-09 18:53:08 -08:00

README.md

Stash

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/