The smallest self-hosted analytics you can run.
A single 4.6 MB binary, no Docker, no database container, no Node runtime. Just the file and its data directory.
Install or update on Debian or Ubuntu
Downloads and verifies the latest release, then installs or updates the Risulta systemd service. Run the same command whenever you want the newest version.
curl -fsSL https://raw.githubusercontent.com/baronunread/risulta/main/deploy/install.sh | sudo sh AGPL-3.0 server and dashboard; MIT tracker script.
4.6 MB
*Docker image, before adding a database
Built as a binary using Sproutboat.
Risulta compiles from a Workers-style fetch
handler straight into one native Linux binary through Porffor and Zig. No Node runtime, no Docker, no
bundler config ships with it.
Sproutboat is the toolchain behind that build. Risulta is the real product proving it holds up: the same router, storage, and dashboard you can read end to end, running as one file.
Read about sproutboatsrc/index.js
export default {
fetch(request) {
return routeRequest(request);
},
};
# sproutboat build --standalone
✓ dist/risulta-sprout, one file, no runtime
4.6 MB
About a fifth the size of the next-smallest self-hosted option
~5.1 ms
Median response time in a local ingest benchmark
~100 ms
Cold start, only on restart - it runs as a long-lived service
Measured with bench.mjs against a same-machine loopback ingest run, 25 concurrent connections. Numbers move with hardware; the method is in the repo.
Included
What ships in the binary
Track pageviews and review reports from the same small server.
Give every site its own tracker key, data store, and access rules.
Anonymous, daily-scoped hashes instead of browser identifiers.
Define conversion events and follow drop-off across ordered steps.
Bounded JSON and CSV reports with filters, dimensions, and pagination.
One authenticated call snapshots SQLite with an integrity-checked manifest.
The difference
No analytics stack to operate.
Risulta favors a focused executable and local storage over containers, hosted accounts, and a separate database service. It's a self-hosted alternative to Plausible, Umami, and GoatCounter.
One executable
Dashboard, collector, and authentication together.
Embedded SQLite
No PostgreSQL, ClickHouse, or managed database.
Small tracker
A pageview-only script without a product suite.
Run your own analytics today.
One command on a Debian or Ubuntu box, and you have a dashboard with no third party reading your traffic.
Open source
All of it is open source.
The server, dashboard, tracker, and installer all live in one public repository under AGPL-3.0 (the tracker script is MIT).