Your data,
your server.
rstash is a remoteStorage server written in Go. Deploy a single binary and give your apps a personal data backend.
Everything you need, nothing you don't.
A spec-compliant remoteStorage server that runs anywhere.
Single Binary
One executable, zero runtime dependencies. Download, run, done.
Multi-Database
SQLite by default. Postgres, MySQL, and SQL Server when you need them.
remoteStorage Protocol
Full spec implementation (draft-dejong-remotestorage-26) with WebFinger discovery.
OAuth Built-in
Integrated OAuth 2.0 authorization — no external auth provider needed.
Quotas & Rate Limiting
Per-user and global storage quotas, configurable per-IP rate limiting.
Web UI Included
Admin dashboard, file browser, user management, and OAuth flows — all built in.
See it in action.
A clean web UI for managing users, files, and OAuth — no CLI required.
Admin Dashboard
File Browser
OAuth Authorize
Up and running in seconds.
Download, run, done.
# → listening on http://localhost:8080
# → visit the browser to complete setup
Configure with environment variables.
No config files needed — everything is a RSTASH_* env var.
| Variable | Default | Description |
|---|---|---|
| RSTASH_ADDR | :8080 | Listen address |
| RSTASH_BASE_URL | http://localhost:8080 | Public URL |
| RSTASH_DB | sqlite:rstash.db | Database DSN |
| RSTASH_BLOB | sqlite:rstash-blobs.db | Blob store DSN |
| RSTASH_LOG_LEVEL | info | Log level |
| RSTASH_TLS_MODE | auto-detect | TLS mode |
Deploy anywhere.
A single binary that fits wherever you need it.
Bare Metal
Download the binary, run it with systemd. Built-in TLS via Let's Encrypt.
Docker
Minimal Alpine image. Mount a volume for data and you're set.
Reverse Proxy
Sit behind nginx or Caddy. Works with any TLS termination setup.
Ready to take control of your data?
rstash is free, open source, and built for self-hosting.