Upload, organize, and share files through a clean web interface. Your own internal S3 bucket browser with sharing links and access control. No Dropbox plan needed for team file sharing.
Every operation in Saddlebag is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/backups — list all backups with optional search and filter query parametersPOST /api/backups — create a new backup recordGET /api/backups/{id} — retrieve a single backup by IDPUT /api/backups/{id} — update an existing backupDELETE /api/backups/{id} — remove a backupGET /api/stats — aggregated statistics with status breakdownGET /api/health — health check endpoint for monitoringRunning a file manager should not require a Kubernetes cluster, a managed database, and a DevOps team to keep it running. Saddlebag is one file. Download it, run it, point your browser at it. That is the entire setup.
An agency managing backups for multiple clients runs one Saddlebag instance per client on isolated VMs. Each instance gets its own data directory. There is no shared database, no multi-tenant risk, no worry about one client's data appearing in another client's export.
Install Saddlebag with the one-line shell script or download the binary directly from GitHub. Run it, open /ui, and start creating backups. The SQLite database lives in a single file under the data directory. To migrate to a new server, copy the binary and the data directory. That is the entire migration procedure.
GET /api/backups — List all backups. Supports ?q=keyword for search and ?status=value for filteringPOST /api/backups — Create a new backup. Send JSON with at least nameGET /api/backups/{id} — Fetch one backup by IDPUT /api/backups/{id} — Update fields on an existing backupDELETE /api/backups/{id} — Remove a backupGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted file manager. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool saddlebag
PORT=8990 ./saddlebag
http://localhost:8990
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export SADDLEBAG_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./saddlebag
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.