Self-hosting error tracking is usually about one of two things: a compliance rule that says telemetry stays inside the network, or a bill that grew faster than the team. The three real options answer those differently.
What you actually have to operate
| Sentry (self-hosted) | GlitchTip | Parsemend | |
|---|---|---|---|
| Services to run | Many, incl. Kafka + ClickHouse | Django + Postgres | Laravel + Postgres + Redis |
| Sentry SDKs work | Yes | Yes | Yes |
| Tracing / replay / profiling | Yes | No | No |
| AI fix agent | No — Seer is cloud-only | No | Yes |
| AI without leaving your network | — | — | Yes, via Ollama |
Self-hosted Sentry
You get the product, all of it, including tracing and session replay. What you also get is the operational surface: this is a distributed system with a message bus and a column store, and the failure modes are the failure modes of a distributed system. Teams who run it successfully usually have someone whose job is partly to run it.
The sharp edge that surprises people in 2026: Seer is not in the self-hosted distribution. If you self-host to keep source code and telemetry inside your network, the AI agent is precisely the feature you cannot have.
GlitchTip
Django and Postgres. It implements Sentry's ingest protocol, does errors and uptime checks, and stops. If your requirement is "error tracking, inside our network, that our existing SDKs can talk to", GlitchTip is the smallest correct answer and you should probably use it.
Parsemend
One Laravel application, Postgres and Redis. Events arrive on Sentry's envelope endpoint from the unmodified official SDKs. Events live in a range-partitioned table, so expiring old data is a partition drop rather than a mass delete.
The reason to choose it over GlitchTip is the agent, and specifically that the agent does not force you back into someone else's cloud. In CLI mode the entire fix run happens on the developer's machine: the context bundle is assembled locally, the model call goes wherever you point it — including an Ollama endpoint on your own hardware — and the draft pull request is opened from there. Nothing about that path requires Parsemend to see a line of your source.
That is the one thing none of the other options on this page can do. It is also the whole reason the four fix modes exist.
The honest limitation
Parsemend has no tracing, no session replay, no profiling and no log ingestion. Self-hosted Sentry has all four. If those are why you self-host, this is not the tool, and no amount of AI makes up for a missing flame graph when you need a flame graph.