Get startedWelcome

Welcome

What Epure is, what ships, and which doc to open next.

Epure groups exceptions on hardware you control. Stack: one Rust binary + PostgreSQL 16 (RLS). Two Compose containers. Official Sentry SDKs; change only dsn.

Job: app throws → grouped issue + readable stack → ship the fix.

What is Epure?

Exception-only error tracking you run yourself. Keep the official Sentry SDK for your runtime and point dsn at your host.

Fastest path if the host is already up: Quickstart. From zero, published repo:

git clone https://github.com/epure-sh/epure.git && cd epure && docker compose up

8080 taken? cp .env.example .env and set EPURE_PORT plus EPURE_PUBLIC_URL. Configuration.

http://{public_key}@localhost:8080/{project_id}

Who is this for?

You already ship an official Sentry SDK, or you are about to. You want Issues on a VPS without another APM suite.

Cloud billing (Pro $24 / Plus $79) ships later. Unsure which package: Pick your SDK.

What you keep

Keep the official Sentry client and the envelope/store wire shape. Change the host and project id in dsn.

KeepChange
Official Sentry SDK for your runtime (see Pick your SDK)Point dsn at your host
Envelope / store wire shapeHost and project id in the DSN

CI fixtures cover @sentry/browser and @sentry/node 7.120.0; other languages have captured fixtures. Set traces, profiles, and replay sample rates to 0.

What ships today?

Two Compose containers, no Redis or Kafka.

ShipsDoes not ship
Exception events + breadcrumbsTracing / APM
JS/TS source map demangleSession replay, profiling
Issues triage, releases, webhooksGeneric logs product
Spike valve, ingest capsiOS / Android crash reporting

Where to go next

Install Compose if the host is down. Otherwise copy a DSN and capture one exception.

Can I keep my Sentry SaaS init options?

Yes. Replace dsn and leave the rest of Sentry.init. Set sample rates for traces, profiles, and replay to 0, since those item types are discarded on ingest. Confirm a throw with Verify. Full init tables: JavaScript.

Do Python, Go, or PHP SDKs work?

Envelope and store accept those official Sentry SDKs. Demangle is JS/TS only, so stacks stay as the SDK sent them. Grouping still uses exception type plus the top in-app frame. Guides: Python, Go, Ruby, PHP, Java, .NET.

Do I need Redis or Kafka?

No. Two containers: the Rust binary and PostgreSQL 16. Ingest uses an in-process Tokio queue and sessions live in Postgres. Operators set env vars in Configuration.

What if port 8080 is taken?

cp .env.example .env, set EPURE_PORT and EPURE_PUBLIC_URL together, recreate epure. Details: Configuration.