Skip to content

Repository files navigation

StatLite

GitHub stars GitHub release License CI

A lightweight, self-hosted metrics dashboard with a small memory and operational footprint, designed for applications running on VPSs and small servers. A single Go binary monitors Spring Boot applications through Actuator JSON or Micrometer Prometheus metrics, Quarkus applications through Micrometer metrics, and other applications that expose a small, fixed JSON metrics endpoint, without requiring Prometheus or Grafana. It stores focused health, traffic, latency, CPU, memory, and optional host metrics in SQLite.

Website: pvrlabs.xyz/statlite · Interactive demo

StatLite example dashboard

StatLite is built for resource-constrained servers. Low memory, CPU, disk, and operational overhead are treated as product constraints.

Learn how to set up lightweight Spring Boot monitoring without Prometheus and Grafana.

Try it

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

Open http://127.0.0.1:9090. StatLite monitors itself by default, so the dashboard starts with live data.

See the Docker guide for persistent storage, container networking, local builds, and access guidance.

StatLite is intentionally focused and is not a replacement for Prometheus and Grafana.

Install

Install the latest release on macOS or Linux:

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

Or install with Homebrew:

brew install pvrlabs/tap/statlite

See Installation for supported platforms, custom install locations, source builds, and server-wide Linux setup.

Configure an application

To monitor a Spring Boot application, create a minimal statlite.yaml:

server:
  listen: "127.0.0.1:9090"

storage:
  sqlite_path: "./statlite.sqlite"

polling:
  interval: "30s"

targets:
  - name: "app"
    type: "spring"
    url: "http://localhost:8080/actuator"

For a new setup, save the configuration as statlite.yaml. If you already have a configuration, copy only the target entry into its targets list. Then run:

statlite

Alternatively, inspect a running application's base URL to generate the configuration:

statlite inspect 'http://localhost:8080'

For other supported frameworks, select the type explicitly when needed:

statlite inspect --type quarkus 'http://localhost:9000'

Inspection checks conventional supported endpoints and is bounded and read-only. For untyped discovery, start with a base HTTP or HTTPS URL without a query string or fragment.

See Configuration for exact endpoint forms, discovery limits, authentication limitations, all settings, and manual target configuration. See examples/ for complete configurations.

Important

StatLite has no built-in dashboard or API authentication. Review the server and access guidance before exposing it remotely.

Supported metric sources

  • Spring Boot: Collects health through Actuator and automatically selects a compatible Micrometer Prometheus endpoint or Actuator JSON for request, JVM, process, and optional host metrics.
  • Quarkus Micrometer: Collects bounded request, latency, CPU, heap, process, and restart concepts from an exact Prometheus/OpenMetrics endpoint. SmallRye Health is an optional capability when the application publishes it.
  • StatLite Metrics v1: A small, fixed JSON endpoint that applications in any language or framework can implement.
  • StatLite self-monitoring: StatLite can report its own health, traffic, process, and host metrics.

Use a statlite-self target for host metrics where StatLite runs. Spring targets can optionally collect host CPU and disk metrics for a remote application's environment.

Documentation

License

MIT

About

A tiny self-hosted metrics dashboard for small servers. Spring Boot and Quarkus monitoring with SQLite, simple charts, and no Prometheus/Grafana stack required.

Topics

Resources

Stars

132 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages