mrkeyoor.com_
Sat 17 Oct 13:33 UTC
Self-Hostedevaluationupdated 04 Oct 2026

posthog review

PostHog combines product analytics, web analytics, session replay, feature flags, experiments, error tracking, surveys, data pipelines, and AI observability in one platform. It solves the integration problem of sending product data through several separate tools, though the open-source self-hosted edition is explicitly positioned as a hobby deployment.

+88stars / 7d
Verdict

Our PostHog install pulled 3,638 packages and occupied 3,679 MB, while the repository exposed no root build or test target, so this is a platform to adopt deliberately rather than a package to try casually. PostHog is a strong fit when analytics, replay, feature delivery, and diagnostics would otherwise become separate contracts and data silos. Use the cloud service for the supported route, or accept the documented 100,000-event hobby ceiling and self-support burden when hosting it yourself.

We ran it

Lab card: what happened when we ran posthogScreenshot of posthog (posthog.com)
Install✓ · 304s3638 packages · 3679 MB
Buildn/ano build script
Testsn/ano test script
Repo56452 files~10,346,624 lines of source · 733.6 MB · 140 CI workflows · Dockerfile

Answers from our run

Does posthog build from source?

Dependencies installed in 304 seconds (3638 packages), and the project has no separate build step. We cloned commit cf416e9 into a clean Debian container with 3 CPUs and no project-specific setup.

Does posthog have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use posthog?

Self-hosters expecting an officially supported production platform: the README offers no support or guarantees for open-source deployments.

What are the alternatives to posthog?

Plausible Analytics, Matomo, Umami. Our PostHog install pulled 3,638 packages and occupied 3,679 MB, while the repository exposed no root build or test target, so this is a platform to adopt deliberately rather than a package to try casually.

Setup2/5304-second install, 3,679 MB, and no root build or test target
Docs4/5Clear product, cloud, hobby-hosting, SDK, and license guidance
Community5/540,133 stars and code pushed on October 4, 2026
Maturity4/5Broad product suite, but open-source hosting is a hobby tier

Discussed on

  1. hnPosthog is closing their Slack community in favor of forum396 points
  2. hnLaunch HN: PostHog (YC W20) – open-source product analytics282 points
  3. hnJeeves. Reasoning improves Jev-like decision models242 points
  4. hnShow HN: Laminar – Open-Source DataDog + PostHog for LLM Apps, Built in Rust203 points
  5. hnPosthog/.cursorrules193 points

Who it’s for

Product engineering teams that want analytics, replay, feature flags, experiments, and error data in one interface.
Companies comfortable using PostHog Cloud for the supported path while keeping the source available for inspection.
Experienced self-hosters whose event volume fits the documented hobby limit and who can run Docker services without vendor support.
Teams connecting product data to Claude Code or another MCP client and willing to govern that access.

Who it’s NOT for

Self-hosters expecting an officially supported production platform: the README offers no support or guarantees for open-source deployments.
Installations expecting much more than about 100,000 events per month on the hobby deployment: PostHog recommends moving to its cloud service beyond that point.
Developers looking for a small JavaScript application: our install pulled 3,638 packages, occupied 3,679 MB, and the checkout held 56,452 files.
Organizations that require the entire main repository under one permissive license: PostHog says the code is MIT except for the ee directory and points strict FOSS users to a separate mirror.
Contributors expecting standard root commands for confidence: our harness found no build or test script target, so neither step could run.

Setup reality

Our sandbox installed commit cf416e9 in 304 seconds, pulling 3,638 pnpm packages and using 3,679 MB on disk. The checkout itself was 733.6 MB, with 56,452 files and about 10,346,624 source lines. There was no build script or target and no test script or target, so both steps were skipped.

The README recommends PostHog Cloud. Its self-hosted route is a one-line Linux Docker hobby deployment with 4 GB of memory recommended, an approximate ceiling of 100,000 events per month, and no customer support or guarantees. Instrumentation then uses a web snippet, an SDK, or the API.

This is a multi-language monorepo with pnpm workspaces, a Dockerfile, 140 CI workflow files, and no tests directory in our scan. Product areas own Django backends and React frontends, while independent services include the LLM gateway, MCP service, and OAuth proxy. Local contribution work needs the repository's own developer tooling rather than generic root build and test commands.

56,452 files put PostHog in platform territory

PostHog puts product and web analytics beside session replay, feature flags, experiments, error tracking, surveys, data pipelines, and AI observability. The project README also describes workflows and a data warehouse, then exposes the platform through web, desktop, Slack, and MCP clients. That breadth can replace several vendor integrations for a product team. It also means an evaluation should begin with the products you will use, because installing the repository brings far more than an event dashboard.

Our checkout contained 56,452 files, about 10,346,624 source lines, and 733.6 MB before dependencies. The monorepo layout shows why: product folders can own Django backends, React frontends, MCP definitions, agent skills, services, and packages. Separate top-level services include an LLM gateway, MCP server, OAuth proxy, and Stripe app. This organization gives product areas boundaries, but newcomers must learn the repository's routing and developer tools before changing one screen.

What happened when we ran it

Our sandbox installed commit cf416e9 in 304 seconds with pnpm. The install succeeded, pulled 3,638 packages, and occupied 3,679 MB on disk. We ran it in an unprivileged container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets. Those figures cover dependency installation only. We did not run the application, ingest events, measure dashboard response time, or test session replay storage, so they support a setup judgment rather than a performance claim.

The repository exposed no build script or target to our harness, so the build step was skipped. It also exposed no test script or target, so the test step was skipped. There is no passing or failing suite result to report. Our scan found 140 CI workflow files, a Dockerfile, pnpm workspaces, and no tests directory. The automation footprint suggests that checks live behind repository-specific commands and path filters, but our measured result remains narrower: a successful install followed by two unavailable root steps.

The hobby deployment stops at about 100,000 events a month

PostHog recommends its cloud service as the fastest and most reliable route. The README labels self-hosting as an advanced hobby deployment and says open-source instances should scale to approximately 100,000 events per month. Beyond that volume, it recommends migration to PostHog Cloud. That published boundary is more useful than pretending the same deployment fits every company. A small internal product may sit comfortably below it, while a consumer service can cross it before analytics becomes deeply embedded.

The one-line Linux installer uses Docker and recommends 4 GB of memory. PostHog says it provides no customer support or guarantees for open-source deployments, then links to self-hosting and troubleshooting documents. Those terms shift backup, upgrades, queue failures, storage growth, and recovery onto your team. The 3,679 MB dependency footprint from our lab is a developer-environment number, not the full runtime footprint. A production sizing decision needs your event rate, replay volume, retention policy, and enabled products.

The main repository is not entirely MIT licensed

The README says the repository uses the MIT expat license except for the ee directory, which has its own license. GitHub therefore reports no single SPDX license for the repository. If policy requires every checked-out file to share a permissive license, the main tree needs legal review. PostHog points those users to posthog-foss, a read-only mirror that removes proprietary code and tells contributors to file work against the main repository.

That split matters in a 10,346,624-line checkout because licensing is attached to paths, not merely the product name. A team can use the FOSS mirror for a cleaner compliance boundary, but it should confirm that the remaining feature set covers its needs. The main README also distinguishes cloud pricing from open-source availability. Treat edition selection as an architecture decision before instrumentation, since event schemas, flags, replay capture, and operational procedures become harder to move after adoption.

5,803 open issues and PRs accompany daily repository activity

GitHub showed 40,133 stars, 5,803 open issues and pull requests combined, and a last push on October 4, 2026. The latest activity list included work across replay, workflows, data warehouse connectors, product data, and self-driving features on the same date. This is a heavily used and fast-moving repository, not an abandoned dashboard. The combined queue is also large enough that teams should search for their SDK, deployment mode, and feature area before choosing a release or planning an upgrade.

GitHub's latest release endpoint returned desktop-v0.61.621, published October 1, 2026. That tag packages the desktop app for macOS, Windows, and Linux, so it should not be mistaken for a version signal for the whole server. The 140 CI workflow files we found fit a monorepo with several release paths. Pin the component you deploy, read that component's changes, and avoid treating the newest repository-wide tag as a single platform release.

PostHog pays off when it replaces several product-data tools

Our 304-second install succeeded, yet the 3,638 packages and missing root build and test targets show how much project-specific machinery sits behind the interface. PostHog makes sense when one product team will actively use analytics alongside replay, flags, experiments, or error data, and the shared context reduces integration work. For basic traffic counts, a narrower analytics project is easier to own. For supported PostHog at serious volume, the README itself points you toward PostHog Cloud.

Alternatives

ProjectWhat it isPick it when
Plausible Analytics gh↗A privacy-focused web analytics service with cloud and self-hosted options.pick this instead when website traffic is the job and PostHog's replay, flags, experiments, and pipelines would sit unused.
Matomo gh↗A self-hosted web and app analytics platform with a long-running privacy focus.pick this instead when you want a conventional analytics suite with direct control over collected data.
UmamiA cookie-free analytics platform for traffic, campaigns, behavior, and conversions.pick this instead when a smaller web analytics deployment covers the decision you need to make.

What people are saying

  1. [velocity-scout] PostHog/jeeves
  2. [github-trending] PostHog/posthog

Sources

  1. PostHog README
  2. PostHog monorepo layout
  3. PostHog Desktop v0.61.621 release
  4. PostHog open-source self-hosting disclaimer

More self-hosted reviews

playport · edge-smart-doh · Comma · ProsperoEden · zulu · node_exporter · the whole board →