Epure
Node.jsNode.js

Error tracking for Node.js with @sentry/node

Use this page for @sentry/node init on Fastify, Nest, Koa, Hono, and workers. Express error middleware is /integrations/express. Set SENTRY_DSN to your Epure host. Flush before exit on short jobs. Verify Issues. No replay, APM, or profiling.

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

Start here

From zero, or from Sentry.

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

Fresh install

Never used Sentry? Start here.

  • 1. Compose up on your host
  • 2. Install @sentry/node
  • 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 Node.js.

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

  • Official SDK, no proprietary agent

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

  • Self-host without a broker fleet

    Postgres holds issues and events. No Kafka or Redis in the OSS compose. Self-host is a $0 software license; you still run the host. Cloud Pro is $29/mo, Scale is $89/mo.

  • Issues you can finish

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

What Node hides

Server failures that never hit your logs cleanly.

Epure groups Node exceptions from HTTP handlers, workers, and uncaughtException paths into issues you can finish.

  • Fastify

    Uncaught exceptions

    Process-level throws land as one issue per fingerprint instead of a flood of identical log lines.

  • NestJS

    Unhandled rejections

    Promise failures from async routes and jobs land with the stack the worker actually threw.

  • Koa

    HTTP handlers

    Express, Fastify, and raw http keep posting envelopes through captureException or auto-instrumentation.

  • Hono

    Background jobs

    Queue consumers and cron scripts share the same project DSN as your API.

  • Node workers / CLIs

    Minified / bundled stacks

    Upload JS/TS maps via release files when you ship compiled Node bundles.

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). Register, name a project, copy the DSN from setup or Settings → SDK connection. Self-host is the path that ships today.

  • Install @sentry/node

    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/node

    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/node@7.120.0
Why Epure

Install @sentry/node. Point the DSN. Verify.

Keep the official SDK. Change only the host.

  • Official SDK, no proprietary agent

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

  • Self-host without a broker fleet

    Postgres holds issues and events. No Kafka or Redis in the OSS compose. Self-host is a $0 software license; you still run the host. Cloud Pro is $29/mo, Scale is $89/mo.

  • 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 Node.js DSN.

Do I need an existing Sentry Cloud account?
No. Install @sentry/node 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/node. 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 Node 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 Node use?
Node uses POST /api/{project_id}/envelope/. Fixture @sentry/node 7.120.0 is parse-tested; treat newer majors as verify-in-your-env until CI expands.
Does this work with ESM and CommonJS?
Yes. Import or require @sentry/node the way your service already does. Init as early as possible, then load the rest of the app. Point dsn at Epure. Verify with an uncaught throw in a route you control. Express error middleware is /integrations/express. This page is SDK init for Fastify, Nest, and workers.
Can bundled Node stacks demangle?
If you compile TypeScript or bundle server code, upload JS/TS sourcemaps via release files. Epure does not demangle other languages. Native addons stay on raw frames.

Point Node at Epure tonight.

Compose up. Install @sentry/node. Paste the DSN.

GitHub

Apache 2.0 · official Sentry SDK · swap DSN