Self-hosted analytics
Tally is a lightweight, privacy-first analytics engine you run on your own infrastructure. Single Docker container. SQLite database. Zero external dependencies. No monthly bill.
No dashboards full of metrics you'll never use. Tally gives you clear, actionable insights about your traffic — and nothing leaves your server.
Your analytics data lives on your server. Not our cloud. Not a third-party database. Yours. Inspect the database file anytime.
Cookie-free tracking. No consent banners needed. Tally uses a first-party session identifier — no GDPR headache.
One Docker container. One SQLite file. No PostgreSQL, no Redis, no Kafka. Zero infrastructure complexity.
Page views, unique visitors, referrers, UTM tracking, scroll depth, focus time, geo location, device breakdown, and a realtime dashboard.
Server-rendered dashboard with zero JavaScript frameworks. Fast, accessible, works everywhere. Protected by password auth.
Full JSON API for every metric. CSV export for pageviews, sessions, and pages. Build your own reports or pipe data wherever you want.
~3KB tracking script. Respects <code>sendBeacon</code>. Tracks scroll depth, focus time, and SPA navigation out of the box.
Optional MaxMind GeoLite2 integration for country/city/region breakdowns. Downloaded automatically on container start.
SaaS analytics tools talk about privacy. We built a tool where privacy isn't a promise — it's an architectural guarantee.
| Google Analytics | Simple Analytics | Tally (self-hosted) | |
|---|---|---|---|
| Data stored on your server | ✗ | ✗ | ✓ |
| No cookies required | ✗ | ✓ | ✓ |
| No monthly bill | ✓ | ✗ | ✓ |
| Works behind firewalls | ✗ | ✗ | ✓ |
| Full data export (CSV + API) | Limited | ✓ | ✓ |
| Single binary deploy | ✗ | ✗ | ✓ |
| Audit the source code | ✗ | ✗ | ✓ |
| No vendor lock-in | ✗ | ✗ | ✓ |
Tally runs on Bun with a SQLite database in WAL mode. The tracker is a single <script> tag (~3KB). The dashboard is server-rendered HTML — no React, no Vue, no build step for the UI. The API returns JSON. Export gives you CSV. Everything you need to understand your traffic, nothing more.
Track your blog or portfolio without sending visitor data to Google. One container, one password, done.
Track intranet sites, internal tools, and firewalled applications. SaaS analytics can't reach behind your firewall.
Healthcare, finance, government — when regulations require data on-premise, Tally delivers without compromise.
Self-hosters who want analytics without the overhead. Runs on a Raspberry Pi. Seriously.
Because it's stupidly simple
Get started