TrapFall vs GlitchTip vs Bugsink: a one-container Sentry alternative comparison

Most Rust developers skip debuggers and read error reports. We compared the three self-hosted engines that collect them: TrapFall, GlitchTip, and Bugsink.

TrapFall vs GlitchTip vs Bugsink: a one-container Sentry alternative comparison

The Rust team published its first debugging survey results this week. Over 2,300 responses, and one finding stands out: most Rust developers do not use a debugger at all. Print statements and the dbg! macro beat lldb and gdb combined. When something breaks in production, most of us find out from an error report, not a breakpoint.

That makes the tooling around error reports worth choosing carefully. We build TrapFall, a self-hosted error capture engine, so read the comparison below with that in mind. We tried to keep the numbers fair and dated: everything here was pulled from vendor pages and GitHub on September 15, 2026.

If you are shopping for a lightweight self-hosted Sentry alternative, the shortlist usually comes down to three names: GlitchTip, Bugsink, and TrapFall. All three ingest from the Sentry SDKs you already use. They differ a lot in what they run on, what they license, and what happens when a Python process dies at 3am.

The contenders

GlitchTip is the veteran. It tracks errors and uptime, it is MIT licensed, and it has real ecosystem gravity. The backend is Python and Django, with 359 stars on the GitLab backend repo plus 164 on the meta repo (self-reported GitHub mirrors are stale, so we cite GitLab). Hosted plans run from free at 1,000 events per month to $250/month at 3 million events.

Bugsink is the fast riser. It is built by Bugsink B.V. in the EU, claims 1,400+ weekly teams on its homepage, and shows 2,070 GitHub stars. Its pitch is a stacktrace-first view with local variables, Sentry SDK compatibility through a DSN swap, and big savings over Sentry's bill. The code carries a PolyForm Shield license, which matters if you want to offer it as a service.

TrapFall is ours, and it is the smallest thing on the list. One Rust binary with the dashboard embedded, 8 stars on GitHub, v0.3.0 released September 3, 2026. We ship it for teams that want error capture to disappear into their existing stack instead of becoming its own service to babysit.

The comparison table

TrapFall 0.3.0 GlitchTip Bugsink
Language Rust Python / Django Python / Django
License Apache-2.0 MIT PolyForm Shield
GitHub stars 8 523 (GitLab, two repos) 2,070
Database SQLite default, Postgres built in PostgreSQL 14+ required MySQL, Postgres, or SQLite
RAM floor one small container 256 MB (128 MB + swap) not published
Docker image 5.75 MB multi-service image not published
Hosted price none $0 to $250/mo $16 to $158/mo
MCP tools for agents 12 none found none found
Maturity early years of production use growing fast

Two honest notes on that table. First, GlitchTip's requirement is not really the 256 MB of RAM. It is the mandatory PostgreSQL 14+ plus Redis-or-Valkey setup, so a minimal install is still three moving parts. Second, star counts measure attention, not reliability. Bugsink's 2,070 stars next to TrapFall's 8 is a statement about how young we are, and we would rather print that than hide it.

Where each one wins

GlitchTip wins on maturity and ecosystem. It has been deployed for years, it has uptime monitoring built in, the MIT license has no strings, and hosted plans exist if you ever want someone else to run it. If your team already lives in Postgres and wants the lowest-risk choice, pick GlitchTip and move on. That is a reasonable answer.

Bugsink wins on polish and economics at volume. Local variables in the stacktrace view is a genuinely useful debugging feature, ARM support gets called out in user quotes, and the hosted tier is priced to undercut Sentry by a lot. Note the PolyForm Shield license: fine for running your own instance, but read it before building a business on top.

TrapFall wins when the constraint is the container itself. The whole server is one static MUSL binary, about 10 MB, with the SvelteKit dashboard embedded. The Docker image is 5.75 MB on a scratch base, so there is no OS layer to patch. SQLite in WAL mode is the default, so the entire state of your error tracking is one file you can rsync. It runs on the same tiny VPS as the rest of your stack without asking Postgres to move in.

The part nobody else ships: your errors as agent tools

TrapFall also embeds an MCP server with 12 tools: list_issues, get_issue, get_event, search_issues, set_status, list_projects, get_project_stats, rotate_dsn, and friends, over stdio JSON-RPC. The practical use: point Claude Code or Cursor at your error store and ask "what regressed since this morning's deploy" without leaving the editor, then resolve the issue from the same session.

We checked the other two before writing this. Neither GlitchTip nor Bugsink mentions MCP anywhere on their sites today. If you run your incidents through an AI agent, this is the differentiator, and it is the reason the feature exists.

The quick start

docker run -p 9090:9090 -v trapfall-data:/data ghcr.io/codecoradev/trapfall:0.3.0

Open port 9090, run the setup wizard, copy the DSN into any Sentry SDK. That last part is the compatibility trick: your SDKs never learn they are talking to something else.

import sentry_sdk
sentry_sdk.init(dsn="https://<key>@your-server:9090/<project_id>")

The rest of the setup lives in the docs: multi-project DSNs, alert rules with cooldowns, and webhook notifications.

What's next

v0.3.0 landed on September 3 with an issue detail page, events-per-day charts, a mobile responsive shell, and light-mode fixes. The repo takes issues and PRs, and the roadmap is discussed in the open.

If you want to reproduce the comparison, start with the primary sources: develop.sentry.dev publishes the 4-core, 16 GB RAM minimum for self-hosted Sentry, glitchtip.com documents its requirements and hosted pricing, bugsink.com lists its plans, and the TrapFall README links the benchmarks and the 5.75 MB image build. Numbers move; check them the week you decide.

And if you do try TrapFall on a $5 VPS next to your side project, that is exactly the deployment it was built for. When it catches something at 3am, the webhook will tell you before the print statements would have.

TrapFall is Apache-2.0 and maintained by CodeCora. More build notes at blog.codecora.dev.