{"repo":"stashysh/stashy","free":true,"listed":false,"github":"https://github.com/stashysh/stashy","clone":"git clone https://github.com/stashysh/stashy.git","description":"Self-hosted file storage","language":"Go","stars":15,"topics":[],"license":"Apache-2.0","category":"self-hosted-apps","readme_excerpt":"Stashy Self-hosted file storage service with multi-protocol API. Quick start Visit http://localhost:8080 to sign in and generate API keys. Uses SQLite by default, with PostgreSQL available when you need a separate database. Build Docker Environment variables Variable Description Default --- --- --- PORT Server listen port 8080 HOSTNAME Public base URL http://localhost:$PORT DATABASE URL Database connection string (see below) file:stashy.db STORAGE BACKEND Storage backend: memory , local , gcs , or s3 memory LOCAL STORAGE DIR Directory for local file storage ./storage GCS BUCKET GCS bucket name (required when STORAGE BACKEND=gcs ) — S3 BUCKET S3 bucket name (required when STORAGE BACKEND=s3 ) — SESSION SECRET HMAC key for signing session cookies required GOOGLE CLIENT ID Google OAuth 2.0 client ID required GOOGLE CLIENT SECRET Google OAuth 2.0 client secret required ALLOWED DOMAINS Comma-separated list of allowed email domains — (all allowed) Database Driver is auto-detected from the DSN: DSN Database --- --- file:stashy.db SQLite (default) postgres://user:pass@host/db PostgreSQL Migrations are managed by goose. Run them explicitly: CLI Authentication Web UI (Google OAuth) 1. Visit / — sign in with Google 2. After login, the dashboard lets you generate and manage API keys API (Bearer token) All /v1/ API endpoints require a Bearer token: Files are private by default. Use POST /v1/files/{id}/publish to make a file publicly accessible at /{id} . Logged-in users can access any fil","default_branch":null,"files":null,"tree":[],"storefront":"/r/stashysh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/stashysh/stashy/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}