Install stratif.io — Warehouse-Native Product Analytics Setup
Prerequisites
- Python 3.12 or higher
git,curl,openssl(standard on macOS and Linux)- A supported warehouse — DuckDB is bundled, no extra setup needed
One-liner install
curl -fsSL https://stratif.io/install.sh | shThe script:
- Checks prerequisites and installs
uv(Python package manager) if missing - Clones the latest release of stratif.io
- Installs Python dependencies
- Generates an encryption key for credential storage
- Creates
.env,connections.yaml, andstart.sh - Seeds a sample DuckDB dataset (5,000 events, 90 days)
- Starts the server on port 6870
Open http://localhost:6870 when complete.
Docker Compose
Clone the repo and start with Docker Compose:
git clone https://github.com/stratif-io/stratif.io.gitcd stratif.ioecho "STRATIFIO_ENCRYPTION_KEY=$(openssl rand -base64 32)" > .envdocker compose up -dOpen http://localhost:9999 when the health check passes (~30 seconds).
The default compose setup runs the app behind a Caddy reverse proxy on port 9999. To customise the port, set STRATIFIO_PORT or edit docker-compose.yml.
Pinning a version
To install a specific version on a fresh machine (no existing ~/.stratifio):
STRATIFIO_VERSION=v0.36.0 curl -fsSL https://stratif.io/install.sh | shTo switch an existing installation to a different version, remove the install directory first:
rm -rf ~/.stratifioSTRATIFIO_VERSION=v0.36.0 curl -fsSL https://stratif.io/install.sh | shInstall script variables
| Variable | Default | Description |
|---|---|---|
STRATIFIO_VERSION | latest | Version tag to install (e.g. v0.30.0) |
STRATIFIO_DIR | ~/.stratifio | Directory to install stratif.io into |
STRATIFIO_PORT | 6870 | Port to run the server on |
STRATIFIO_DATA_DIR | $STRATIFIO_DIR/data | Directory for the DuckDB sample data and product database |
GITHUB_TOKEN | — | GitHub personal access token — set this to avoid API rate limits on slow connections |
Example — install v0.30.0 on a custom port into a custom directory:
STRATIFIO_VERSION=v0.30.0 \STRATIFIO_DIR=/opt/stratifio \STRATIFIO_PORT=8080 \curl -fsSL https://stratif.io/install.sh | shUpdating
Re-run the install script — it updates the code, Python packages, and frontend in one step:
curl -fsSL https://stratif.io/install.sh | sh