OpenPanel
Web and product analytics you point your own domain at: events, funnels, retention, real-time
dashboards, session replay, A/B testing and notification rules. AGPL-3.0, 6,449★/418 forks, 77 open
issues, repository created 2024-02-29, last updated 2026-08-10 (read 2026-08-10). There is a hosted
version at dashboard.openpanel.dev with, in the project’s words, “transparent pricing” and “no
hidden costs or usage limits.”
The repository describes itself as “an open-source alternative to Mixpanel with optional self-hosting,” and the site compares against Google Analytics and Plausible too.
The substitution frame, from the inside
Every other source in this corpus was filed under open-source-alternative by somebody else. This one puts the phrase in its own one-line GitHub description, which makes it the first place to look at what the frame does to a project rather than to a directory.
The feature list is the tell, and it cuts both ways. Session replay, A/B testing and funnel analysis are Mixpanel’s product surface, and a project that names Mixpanel in its description is committed to that surface whether or not a self-hosting operator wants all of it. That is the imitation-roadmap hypothesis on open-source-alternative getting its first supporting instance. It is one case, the features are also what people looking for analytics ask for, and nothing here separates the two causes.
What self-hosting actually costs here
The published docker-compose.template.yml brings up seven containers: Caddy as reverse proxy,
PostgreSQL 14, Redis 7.2.5, ClickHouse 25.10.2.65, plus the API, dashboard and worker images. Three
stateful stores, one of them a columnar analytics engine.
Applying self-hosting‘s test — name the resource the software needs that you do not own — OpenPanel
comes out cleanly. Unlike hometube, there is no upstream platform gatekeeping the data: the events
are generated by your own visitors on your own site, and nothing needs an authenticated session
somewhere else. What it costs instead is operations, and the docs are candid in a way the corpus has
not seen before. No minimum specs are given, only “VPS of any kind (only tested on Ubuntu 24.04)”;
managed Redis needs notify-keyspace-events set by hand or the logs complain; and updating means
reading the changelog and applying the changes to your instance yourself.
That last line is the first direct evidence for the spoke’s second open question. The maintenance a hosted vendor absorbs is not hidden here, it is written down as a chore list, and it recurs on every release.
The privacy claim points somewhere new
OpenPanel is “cookieless by default” and “privacy-first,” GDPR named. Per the standing caveat that is the project’s own account and nobody has audited it.
The structural point is more interesting than the claim. Every privacy claim so far in this corpus protects the operator — anysoftkeyboard cannot leak your keystrokes because it has no network. Analytics inverts that. The people whose behaviour is recorded are the site’s visitors, not the person who installed the software, and self-hosting does not remove the surveillance. It moves who performs it: a visitor is now tracked by the site owner instead of by Mixpanel, with no vendor policy, no external audit and no data-processing agreement in between.
So “self-hosting relocates a dependency” has a second form. Here it relocates a risk, and it moves it onto someone who never chose the software. Whether that is an improvement depends entirely on which of the two parties you are.
Licence
AGPL-3.0 with a first-party hosted service — the same shape as ever-gauzy, and the corpus’s second instance of it. Two of the three self-hostable projects here use the strongest copyleft available and sell the hosted version themselves. The spoke’s open question about what AGPL does in practice now has a pattern to work on rather than one example.
Provenance
T1, primary artifact. Counts and image tags are snapshots. The container list was read from
self-hosting/docker-compose.template.yml in the repository, not from the marketing page — the docs
page describes the stack loosely and does not enumerate it.
Connections
Cross-spoke: the ClickHouse dependency puts the storage half of this in ../analytical-databases-wiki,
which already holds posthog-duckdb-vs-clickhouse — PostHog is the same category of product making
the same engine choice, and that spoke owns the engine question. Noted, not duplicated. The measurement
and web-analytics angle borders ../search-marketing-wiki.