finds.dev← all comparisons

// 8 picks · reviewed August 2026

The Best Self-Hosted Analytics Tools in 2026

Self-hosted analytics exists for one reason: you want to know where your traffic comes from without shipping every visitor to Google, and without a cookie banner. All eight of these do that job. What separates them is everything after — how many services you have to keep alive, and where each one draws the line between what's free and what's gated behind their cloud plan.

The real split isn't features, it's commitment level. Umami and Matomo run on a single database and get you 90% of the way there. Plausible, Rybbit, PostHog, OpenPanel, Swetrix, and Aptabase all lean on ClickHouse for the event store, usually alongside Postgres or MySQL and sometimes Redis too — more capable, but you're now operating a small distributed system instead of running one Docker container.

How we picked these

Every repo here was read and assessed on its own before it was considered for this page: we pull the README, the directory layout and a key source file, and write the assessment from those rather than from the project's own marketing. Candidates for this list came from a full-text and topic search over the 23 reviewed repositories that matched this category. Anything with no commit in the last 12 months was cut, as were link collections, tutorials and boilerplates; the floor for inclusion was 500 stars. The ordering is a judgement call about who should pick what, not a ranking by stars. finds.dev is independent of every project listed here: nobody paid for a place on this page, there are no affiliate or referral links on it, and we have no commercial relationship with any of them. That is the point of writing down what each one is bad at as well as what it is good at.

// 1 of 8

umami-software/umami

★ 37,147 · TypeScript · MIT · updated Jun 2026

the default pick: lightest to run, works out of the box, biggest community for support

Umami is the one to reach for first. Postgres is enough to get it running, the dashboard makes sense without reading docs, and it has by far the largest community of anyone on this list — when something breaks, someone's already answered it on GitHub.

The trade-off shows up the moment your traffic outgrows a single Postgres instance. Umami's own docker-compose only wires up Postgres, so the ClickHouse path for high-volume ingestion is real but barely documented — you're improvising where Plausible and PostHog built the two-database split in from day one.

Also change the default login before you deploy this anywhere public. First boot creates an admin account with the password 'umami,' and nothing in the setup flow makes you touch it.

View on GitHub → Our full take →

// 2 of 8

plausible/analytics

★ 27,023 · Elixir · AGPL-3.0 · updated Jun 2026

teams who want the well-known Plausible look and feel but need to self-host it

Plausible looks and behaves like the hosted product most people already know, which is the appeal — a familiar dashboard, a sub-1KB tracker, MIT license on the script itself. The ClickHouse-plus-Postgres split is the same idea Rybbit and PostHog use, and it's the right one for analytics data.

The community edition is where the self-hosted pitch gets complicated: no funnels, no revenue tracking, no SSO, and only two releases a year. If you're expecting the cloud product's feature set, you're running six months behind it on the free tier — a sharper gate than Umami or Matomo apply.

Bot filtering is the other quiet gap — CE checks User-Agent strings, while the cloud version excludes 32,000 datacenter IP ranges. That difference will show up as inflated numbers you won't notice until you go looking.

View on GitHub → Our full take →

// 3 of 8

matomo-org/matomo

★ 21,659 · PHP · GPL-3.0 · updated Jul 2026

teams that need GA-parity: heatmaps, funnels, A/B testing, not just pageview counts

Matomo is the only one here that actually matches Google Analytics feature for feature — heatmaps, A/B testing, e-commerce funnels, custom segments, a plugin marketplace with hundreds of real entries. If PostHog is product analytics and everyone else is pageviews-plus, Matomo is the GA replacement, full stop.

That completeness comes wrapped in fifteen-plus-year-old PHP and MySQL, and it feels like it — global config, static access patterns, an archive/cron system that turns into a real ops problem once traffic gets serious. Nothing else on this list has a scaling cliff quite like CronArchive's locking issues.

The UI reflects the age too: it tries to show you everything at once and ends up making none of it easy to find, especially next to something like Rybbit's dashboard, which was clearly designed a decade later with better tools.

View on GitHub → Our full take →

// 4 of 8

PostHog/posthog

★ 34,989 · Python · NOASSERTION · updated Jun 2026

teams that want product analytics, session replay and feature flags bundled in with the pageview tracking

PostHog isn't really competing on pageviews — it's feature flags, session replay, error tracking, and A/B testing bundled with analytics, aimed at teams currently paying for Mixpanel, LaunchDarkly, and Sentry separately. The ClickHouse pipeline and the HogQL query layer are both genuinely well built.

Self-hosting it seriously is another matter. PostHog caps the self-hosted path around 100k events a month before nudging you to their cloud, and the interesting features — multivariate flags, group analytics, cohort experimentation — sit behind the ee/ license, not MIT. Compared to Matomo or Umami, where self-hosting is the main path, here it reads more like a demo of the cloud product.

The monorepo is also a lot: Python, TypeScript, Rust, Go, and a custom Hog interpreter, with local dev painful enough that PostHog ships its own Claude skill just to run the thing.

View on GitHub → Our full take →

// 5 of 8

rybbit-io/rybbit

★ 12,410 · TypeScript · AGPL-3.0 · updated Jun 2026

anyone who finds Umami's dashboard too bare and wants a more polished modern UI

Rybbit exists for people who like what Umami does but not how it looks — the dashboard is genuinely more polished, and the feature list (funnels, session replay, error tracking, cookieless fingerprinting) goes deeper than Plausible without the CE feature gate.

That depth comes from running four services instead of one: ClickHouse, Postgres, a Next.js frontend, and a separate backend API, all needing upgrades in lockstep. That's a bigger operational surface than Umami or Plausible for a project with a fraction of their community size.

It's also AGPL-3, which the README doesn't make loud — fine for personal or internal use, a real problem if you're building a commercial product on top of it without open-sourcing yours. And session replay storage has no documented retention story, so plan on that filling a disk eventually.

View on GitHub → Our full take →

// 6 of 8

Openpanel-dev/openpanel

★ 5,924 · TypeScript · AGPL-3.0 · updated Jun 2026

tracking custom user events, not just pageviews, without paying for Mixpanel

OpenPanel goes after the Mixpanel use case specifically — funnels, cohorts, user profiles, session replay with no artificial monthly cap, plus an unusually broad SDK spread across native mobile and server languages. The MCP server for querying analytics from Claude or Cursor is a real differentiator nobody else here has.

The cost is standing up four services — Postgres, ClickHouse, Redis, and the app — before tracking a single event, similar to Rybbit's footprint but for a much smaller project. And it's built and maintained by one person; that's fine until you need a fix on your timeline, not theirs.

Treat the README's comparison table skeptically too — it's vendor-written, and claims like GA4's funnel support being severely limited don't hold up under scrutiny.

View on GitHub → Our full take →

// 7 of 8

Swetrix/swetrix

★ 1,050 · TypeScript · AGPL-3.0 · updated Jul 2026

wanting error tracking and performance monitoring bundled with the pageview counts

Swetrix is the pick if you want error tracking and performance monitoring next to your pageview counts instead of paying for three separate tools. The ClickHouse core is solid, and its GA4, Fathom, Plausible, and Umami import mappers make migrating in from something else easier than with any other option here.

The honesty is real — the CE/cloud split is structural in the codebase, not a feature flag bolted onto a cloud build — but a lot of the interesting stuff (session replays, AI chat, A/B experiments, alerts) is cloud-only anyway, so CE ends up feeling like a trial the way Plausible's does, just with a different set of features withheld.

At 1,050 stars and 61 forks, this is the smallest community on the list by a wide margin. If you hit a ClickHouse schema edge case or a Redis bug, you're likely debugging it alone, and there's no public plan for scaling the NestJS API layer once the write volume is real.

View on GitHub → Our full take →

// 8 of 8

aptabase/aptabase

★ 1,715 · TypeScript · AGPL-3.0 · updated Feb 2026

mobile and desktop apps rather than websites

Aptabase is the outlier: built for mobile and desktop apps, not websites, with first-party SDKs for Swift, Kotlin, Flutter, Tauri, MAUI, Unity, and Unreal. The daily-rotating salted hash instead of a persistent user ID is a real privacy mechanism, not a marketing line, and if you're shipping a native app, nothing else on this list fits as well.

The concern is momentum: the last push was February 2026, six months back from everyone else here, and the pattern — a maintained SDK spread with a quiet main repo — looks like the managed cloud side may be winding down. Worth confirming activity before you build on it long-term.

The migrations are also hand-rolled numbered SQL files rather than a standard tool, and there's no alerting — if your app's session count falls off a cliff, Aptabase won't tell you, the same blind spot Umami has.

View on GitHub → Our full take →

Questions people ask

Do I need to run ClickHouse to self-host any of these?

Six of the eight use it: Plausible, PostHog, Rybbit, OpenPanel, Swetrix, and Aptabase all put ClickHouse in the stack. Only Matomo (MySQL) and Umami's default setup (Postgres alone, with ClickHouse as an undocumented add-on) let you skip it.

Which one has the smallest operational footprint?

Umami and Matomo, by a clear margin — both run on one database by default. Everything else asks for two to four services (a relational database, ClickHouse, sometimes Redis, sometimes a separate backend) before you've recorded a single pageview.

Which self-hosted edition is actually complete rather than a limited version of the cloud product?

None are fully unrestricted, but the gate sits in different spots. Plausible CE drops funnels, revenue tracking, and SSO. PostHog gates multivariate flags and cohort experiments behind its ee/ license. Umami and Matomo come closest to full parity between what you self-host and what they sell.

I only want pageviews — which of these is overkill?

PostHog, OpenPanel, and Swetrix are built around product analytics — feature flags, funnels, session replay — which is a lot of infrastructure if all you want is traffic sources and page counts. Umami or Plausible do that job without the extra services.

If tracking down which of these actually fits your stack sounds like a Saturday you don't want to lose, that's the kind of thing the finds.dev weekly email exists to do instead — one repo a week, worth your time, with the actual trade-offs included.

Get finds like these weekly →