Skip to main content
Everything that makes up Lumenstat is MIT licensed: the service code, the Umami patches, the tracker, the infrastructure code and these docs. Umami itself is MIT. A community operator can run the whole service from the repository without asking anyone for permission.

Repository layout

lumenstat
deploy
infra
docs
scripts
examples

Why a patch set instead of a fork

Umami is kept as an upstream release plus a short series of patches. Each patch does one thing, has its own switch, and leaves Umami behaving like upstream when the switch is off. That keeps every privacy and anti-inflation change reviewable on its own, and makes an Umami upgrade a matter of rebasing a few small commits instead of merging two diverged codebases.

Contributing

  • Bugs and requests: open an issue on GitHub, or post on the feedback board if you are not on GitHub.
  • Security problems: never in a public issue. Follow the security policy.
  • Pull requests: keep them small, run the tests for what you touched (npm test in apps/writer, pnpm vitest run src/lib/scf in vendor/umami, npm run build in apps/dashboard), and explain the reason for the change, not only what changed.
  • Docs: pages live in docs/. Preview with npx mint dev from that folder, and read docs/AGENTS.md for the writing rules.
Last modified on November 14, 2026