Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.stashy.sh/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites

Option 1: From Source

1

Set environment variables

export SESSION_SECRET="$(openssl rand -hex 32)"
export GOOGLE_CLIENT_ID="your-client-id"
export GOOGLE_CLIENT_SECRET="your-client-secret"
2

Run the server

go run ./cmd/stashy serve --migrate
3

Upload your first file

Visit http://localhost:8080, sign in, create an API key, then:
curl -H "Authorization: Bearer <your-api-key>" \
  -X POST http://localhost:8080/v1/files \
  -H "Content-Type: image/png" \
  --data-binary @photo.png
Response:
{ "id": "V1StGXR8_Z5jdHi6B-myT" }
Access it publicly at http://localhost:8080/V1StGXR8_Z5jdHi6B-myT.

Option 2: Docker Compose

cp .env.example .env   # fill in your secrets
docker compose up

Option 3: Homebrew

brew install stashysh/tap/stashy
stashy serve --migrate

Option 4: Binary Release

Download from GitHub Releases for your platform (Linux, macOS, Windows — amd64/arm64).

Next Steps

Configuration

All environment variables and defaults

Authentication

Set up OAuth and API keys