Epure
Next.jsNext.js · @sentry/nextjs

Error tracking built for Next.js.

Install @sentry/nextjs and set SENTRY_DSN plus NEXT_PUBLIC_SENTRY_DSN to the Epure host. Hydration, RSC, and route-handler throws group as issues with demangled stacks.

Host up → install SDK → paste DSN → confirm a 202.

  • Install

    1 SDK

    Install @sentry/nextjs. Point dsn at Epure.

  • Protocol

    envelope

    Official Sentry wire. Exceptions persist; transactions discarded.

  • Setup

    < 10 min

    Host up → DSN → first issue the same sitting.

  • Cost

    0 seats

    Self-host is unlimited seats. Hardware bounds volume.

Start here

From zero, or from Sentry.

Same finish line: @sentry/nextjs pointing at your Epure DSN, first issue in the list.

Fresh install

Never used Sentry? Start here.

  • 1. Run Epure (compose or Cloud)
  • 2. Install @sentry/nextjs
  • 3. Init with the Epure DSN and verify

Already on Sentry

Keep the SDK. Change the DSN.

  • 1. Create an Epure project and copy the DSN
  • 2. Replace only the dsn string in init
  • 3. Set traces/replay/profile rates to 0
The fit

Epure is the error tracker for Next.js.

Install @sentry/nextjs once. Point the DSN at Epure. No Sentry Cloud account required. Only the open SDK client.

  • Official SDK, no proprietary agent

    Install @sentry/nextjs (or keep it if you already have Sentry). Point dsn at Epure.

  • Two containers, no cluster

    Rust binary plus PostgreSQL 16, self-hosted under 200 MB. Cloud runs the same path at $24.

  • Issues you can finish

    Grouping, releases, alerts, and soft-sampling on spikes. Triage without a seat tax.

What Next.js hides

The failures that only show up in production.

Epure groups the Next.js surfaces that break after deploy: hydration, server components, edge, route handlers.

  • Next.js App Router

    Hydration mismatches

    Catch server/client HTML diffs with a readable stack so you can find the component that flickered.

  • Pages Router

    React Server Components

    Surface throws from Server Components and server actions with request context, even when they only fail in prod.

  • RSC / server actions

    App Router segments

    Trace failed layouts, loading states, and route transitions to the segment that broke.

  • route handlers

    Edge & middleware

    Monitor middleware and edge routes at the boundary, where errors are hardest to reproduce locally.

  • edge

    Route handlers

    API routes and server actions land as issues you can resolve once, not a pile of identical events.

Install path

Host. SDK. First issue.

New to Sentry or already on it. Same three moves. Official SDK in, DSN pointed at Epure, one test throw.

  • Run Epure

    docker compose up locally (optional `.env` for ports), or open Cloud. Register, name a project, copy the DSN from setup or Settings → SDK connection.

  • Install @sentry/nextjs

    Add the official Sentry SDK from your package manager. Epure speaks the Sentry wire, so there is no @epure/* client.

  • Init and verify

    Call Sentry.init with the Epure DSN. Throw once (or captureException). Confirm 202 and an issue in the list.

Wire path

Install the SDK. Point the DSN.

Fresh install or DSN swap: same init shape. Disable product lines Epure discards.

  • Install @sentry/nextjs

    Official Sentry client from the package registry. No @epure/* SDK.

  • Point dsn at Epure

    Paste the project DSN from Settings. Fresh install and Sentry migrants use the same field.

  • Disable discarded lines

    Set traces, replay, and profile sample rates to 0. Epure stores exceptions only.

1npm install @sentry/nextjs@7.120.0
Why Epure

The tracker that fits how you already ship Next.js.

Check the fit before you paste the DSN.

  • Official SDK, no proprietary agent

    Install @sentry/nextjs (or keep it if you already have Sentry). Point dsn at Epure.

  • Two containers, no cluster

    Rust binary plus PostgreSQL 16, self-hosted under 200 MB. Cloud runs the same path at $24.

  • Issues you can finish

    Grouping, releases, alerts, and soft-sampling on spikes. Triage without a seat tax.

  • Honest scope

    Exceptions and stacks. We skip replay, profiling, and transaction APM, and never claim 100% compatibility.

  • Readable JS/TS stacks

    Upload sourcemaps via release files. Local frames stay useful after minify.

  • You own the data path

    Self-host keeps stack traces on your Postgres. Cloud soft-samples instead of surprise invoices.

FAQ

Before you paste the Next.js DSN.

Do I need an existing Sentry Cloud account?
No. Install @sentry/nextjs from the package registry, create an Epure project, paste the DSN, and capture. You need their open SDK client, never their SaaS. Quickstart.
I already use @sentry/nextjs. Do I rewrite?
No. Leave the SDK. Change only the dsn to your Epure host. Set traces/replay/profile sample rates to 0 so you don’t ship volume Epure discards. Self-host install if you still need compose.
What about transactions, replay, and profiling?
Epure is exception tracking. Transactions are discarded. Replay and profiling items are ignored. Disable those sample rates in init.
How long until I see the first Next.js issue?
With Docker warm and a DSN in env, most people land a 202 and an issue the same sitting. Persistence is async, so under normal load an issue appears in well under a second.
Which wire path does Next.js use?
Next.js uses the same envelope path as browser/Node. Client, server, and edge init files share one Epure project DSN. See Next.js docs and JS platform docs for shared options.
Will this catch App Router and Server Component errors?
Yes for exceptions that reach the Sentry Next.js handlers (client, server, edge init plus instrumentation hooks). Wire the official SDK the same way Sentry’s guide shows. Only the DSN host is Epure.
Do I need two DSN env vars?
Usually yes: SENTRY_DSN for server and NEXT_PUBLIC_SENTRY_DSN for the browser bundle. Both should use the same Epure project. Missing the public var means client hydration throws never leave the tab.

Point Next.js at Epure tonight.

Open the docs, compose up or Cloud, install @sentry/nextjs, paste the DSN.

Apache 2.0 · official Sentry SDK · swap DSN