Self-hosted analytics

Privacy-friendly web analytics you run yourself

Cookieless tracking, a dashboard, REST API, and CLI - one light binary with embedded storage. Co-host on a small VPS or the same machine as your product. MIT licensed.

Stomatopod mascot - a teal and purple mantis shrimp

Footprint

Light enough to co-host

Run analytics on a small VPS or the same machine as the product you measure. One binary, embedded storage, no external database.

How we measure →

~40 MiB

RSS idle

After boot, no traffic

~80-100 MiB

Under load

History + light dashboard use

~1000/s

Ingest headroom

Pageviews sustained in sample

1 process

No sidecar DB

SQLite + WAL + Parquet on disk

Sample on Apple Silicon (release build): ~40 MiB idle RSS; ~80-100 MiB with ~25k events and light queries; ~1000 pageview RPS with peak RSS around ~120 MiB. Host-dependent - re-run mise run bench:memory for your box. Full table in BENCHMARKS.md.

Built for operators and agents

A single-owner appliance: one org, one admin, many sites. No external database required.

Cookieless by design

Browser tracker and server-side ingest without tracking cookies. Respect visitor privacy out of the box.

Lightweight

Sample ~40 MiB RSS idle and ~80-100 MiB under moderate load - sized for a small box, not a dedicated analytics fleet.

One binary

Dashboard, JSON API, tracker, and workers in a single process. Mount a volume and go.

API + CLI

OpenAPI, the stoma CLI, and agent-friendly queries for funnels, pageviews, and digests.

Run it on your own hardware

Docker Compose or a release binary. Your data stays on your disk - without a heavy analytics stack.