Quickstart: one-liner
Two minutes from "I have a terminal" to "I am logged into the Stowage dashboard". The installer downloads a SHA256-verified release binary into the current directory and exec's it. Nothing is installed system- wide.
#Linux, macOS, WSL
curl -fsSL https://stowage.dev/install.sh | sh#Windows (PowerShell)
irm https://stowage.dev/install.ps1 | iexThe script:
- Detects your OS + architecture.
- Downloads the matching binary and the release
SHA256SUMSfromgithub.com/stowage-dev/stowage/releases/latest/download. - Verifies the checksum.
- Drops
./stowage(orstowage.exe) into the current directory. - Exec's it with no arguments — which runs
stowage quickstart.
stowage quickstart then:
- Downloads a matching MinIO release into
./data/(only on first run). - Starts MinIO as a child process with random credentials.
- Creates a fresh SQLite database at
./data/stowage.db. - Creates an
adminuser with a random password (printed to stdout). - Starts the dashboard on
http://localhost:8080.
When the printed admin password scrolls past, copy it. Open http://localhost:8080 and log in.
#Skipping the auto-run
Set STOWAGE_NO_RUN=1 to download and verify but not exec:
STOWAGE_NO_RUN=1 curl -fsSL https://stowage.dev/install.sh | sh
./stowage --help#Pinning a version
STOWAGE_VERSION=v1.0.0 curl -fsSL https://stowage.dev/install.sh | shSTOWAGE_VERSION defaults to latest and accepts any tagged release.
#Passing arguments to stowage
After the --, arguments are forwarded to the binary:
curl -fsSL https://stowage.dev/install.sh | sh -s -- serve --config my.yamlThe PowerShell variant uses a script-block:
& ([scriptblock]::Create((irm https://stowage.dev/install.ps1))) serve --config my.yaml#What you have now
- A
./stowagebinary in your working directory. - A
./data/directory with MinIO, MinIO's data, the Stowage SQLite database, and the auto-generated AES-256 root key (mode 0600). - A running dashboard on
:8080with an admin user.
#Next step
- Your first share link — try the dashboard.
- Self-host → Configure when you're ready to switch to a hand-written config and a real backend.