Exception-only error tracking you run yourself. Keep official Sentry SDKs; point the DSN at your box. One Rust binary plus PostgreSQL 16. Two containers, no Redis, no Kafka.
Grouped issues, breadcrumbs, releases, alerts, webhooks. Keyboard triage (j/k, e resolve, i ignore). Spike valve under loops: the counter still increments, duplicate bodies drop.
No APM, replay, profiling, or log ingest. JS/TS sourcemaps. Other languages group on SDK frames.
Apache 2.0. docker compose up.