Practices Monitoring

Epure keeps the Sentry SDKs and cuts self-hosted error monitoring to two containers

Exception-only error monitoring over Postgres 16: change the DSN, get grouped issues, and watch transactions, replay and profiles get dropped at the door.

Epure does error monitoring for one job: production exceptions become grouped issues with a stack you can read. The SDKs stay the official Sentry clients, you change the DSN, and the self-hosted stack is two containers, the Rust process that ingests, serves the API and embeds the dashboard, and PostgreSQL 16. No Redis, no Kafka, no separate worker container. Compose up, open the port, register, name a project, copy the DSN.

Epure's Issues dashboard: a feed of unresolved errors — payment gateway timeouts, hydration failures, card declines — with last-seen times, sparkline trends, event and user counts, and priority bars.
Epure's issue feed on a test instance: unresolved errors with counts, trends and priorities. Screenshot: the Epure project, from its repository README.

The ingest path is short: DSN check, a spike valve, enqueue, 202, then the worker demangles, scrubs and groups before writing to Postgres. If your SDK sends transactions, session replay or profiles, the request is accepted and those items are dropped. That is the design and it is the difference from a Sentry install: no tracing, no replay, no profiling, no log ingest, no mobile symbolication.

The numbers it publishes

Two containers, about 50 MiB idle, about 10 seconds to first issue. Those are the project’s own measurements, from 20 September on Docker Desktop, and the README says to re-verify them, which is the right instruction: Docker Desktop is not where anyone runs this. Their comparison table puts Sentry’s self-hosted stack at 20-plus containers and 16 GB plus swap, and GlitchTip at four or more containers with 512 MB recommended. Their advice points at the incumbent: if GlitchTip is already quiet for you, stay there.

Support

Browser and Python SDKs are end-to-end in CI; Node is at parse and fixture; Go, Ruby, PHP, Java and .NET are at fixture captured. Apache 2.0, no ee/ split, images on GHCR, and a managed option at $24 and $79 a month if you would rather not run it.

My read

Keeping the official SDKs is the whole bet. Leaving means changing a DSN back, and arriving is changing one, which is a much smaller decision than adopting a stack you would have to rip out. A deployment of two containers, one of which is somebody else’s database, is a different proposition from the twenty-container install it is competing with.

The number to test on your own hardware is the 50 MiB, because it came from Docker Desktop.

Source: epure-sh/epure, with the footprint measured 2026-09-20