Install StatLite

Choose Docker, the shell installer, Homebrew, or a source build. For versioned binary archives and release notes, visit Downloads.

Docker

Images on Docker Hub support linux/amd64 and linux/arm64. Run the latest release with its built-in self-monitoring configuration:

Terminal
docker run --rm \
  -p 127.0.0.1:9090:9090 \
  docker.io/pvrlabs/statlite:latest

Then open http://127.0.0.1:9090. The dashboard is bound to host loopback. StatLite has no built-in authentication, so keep it on a private or protected network.

To pin a release, use the version tag without a v prefix:

Version 0.6.0
docker run --rm \
  -p 127.0.0.1:9090:9090 \
  docker.io/pvrlabs/statlite:0.6.0

Configuration, networking, and persistent history

The quick start stores history inside the disposable container. To monitor your application and retain SQLite history, save this as statlite.yaml and mount a named volume at /data:

statlite.yaml
server:
  listen: "0.0.0.0:9090"

storage:
  sqlite_path: "/data/statlite.sqlite"

polling:
  interval: "30s"

targets:
  - name: "app"
    type: "spring"
    url: "http://host.docker.internal:8080/actuator"
Terminal
docker run --rm \
  -p 127.0.0.1:9090:9090 \
  --add-host=host.docker.internal:host-gateway \
  -v "$PWD/statlite.yaml:/etc/statlite/statlite.yaml:ro" \
  -v statlite-data:/data \
  docker.io/pvrlabs/statlite:latest

Inside the container, 127.0.0.1 refers to StatLite. Docker Desktop resolves host.docker.internal; the --add-host option supplies it on Linux. Your application must listen on an address that the container can reach. For another container on a shared Docker network, use its service name in the target URL.

The configuration listens on 0.0.0.0:9090 inside the container; the published host port remains restricted to 127.0.0.1. The mounted config must be readable by the container's non-root user. Keep credentials private.

Use Configure StatLite for other targets. Before mounting a generated host configuration, adjust the listen address, SQLite path, and target URL for the container as shown above. See the Docker guide for further networking and storage guidance.

Container registry alternative

Docker Hub (docker.io/pvrlabs/statlite) and GitHub Container Registry (ghcr.io/pvrlabs/statlite) distribute equivalent releases. GHCR is the authoritative release source, and Docker Hub is automatically mirrored from it. To use GHCR, replace the image name in these commands with ghcr.io/pvrlabs/statlite and keep the same tag.

Shell installer

Install the latest binary on macOS or Linux:

Terminal
curl -fsSL https://raw.githubusercontent.com/PVRLabs/statlite/main/install.sh | sh

The installer verifies the release checksum and installs to ~/.local/bin by default. Add that directory to your PATH if needed.

Homebrew

Terminal
brew install pvrlabs/tap/statlite

Build from source

With Go installed, clone the repository and build:

Terminal
git clone https://github.com/PVRLabs/statlite.git
cd statlite
go build -o statlite ./cmd/statlite
./statlite

Run the installed binary

The shell installer and Homebrew install the binary only. They do not create configuration, storage, or services. With your Spring Boot application running, create a config and start StatLite:

Terminal
statlite inspect 'http://localhost:8080' --create-config ./statlite.yaml
statlite

Open http://127.0.0.1:9090. The command creates statlite.yaml only when it does not already exist. See Advanced installation for supported platforms, custom install locations, version selection, and Linux service setup.