A single Rust binary with SQLite storage. Deploy in seconds, ingest millions of errors, stay in control.
One Rust binary. SQLite for storage. No Postgres, no Redis, no Kafka. Deploy a docker run and you're done.
Buffered MPSC channel with backpressure. Bloop ACKs instantly and never returns 429s to your clients, even under load.
Normalizes UUIDs, IPs, and numbers before hashing with xxhash3. Groups "Error at 10.0.0.1:5000" and "Error at 192.168.1.2:3000" into one issue.
WebAuthn-based authentication. No passwords to leak, no tokens to rotate. Just your fingerprint or hardware key.
| Bloop | Sentry (self-hosted) | GlitchTip | Self-built | |
|---|---|---|---|---|
| Deploy complexity | docker run | 23+ containers | 3-5 containers | You decide |
| Dependencies | None (SQLite) | Postgres, Redis, Kafka, Zookeeper, ClickHouse | Postgres, Redis | Varies |
| Idle memory | ~20 MB | 4+ GB | ~500 MB | Varies |
| Binary size | ~15 MB | N/A (multi-service) | N/A (Python) | Varies |
| Ingestion auth | HMAC-SHA256 | DSN tokens | DSN tokens | Custom |
| Dashboard auth | WebAuthn passkeys | Email/password | Email/password | Custom |
| Cost | Free (MIT) | Free (BSL) | Free (MIT) | Your time |
One command. That's it.
docker run -d --name bloop \
-p 5332:5332 \
-v bloop_data:/data \
-e BLOOP__AUTH__HMAC_SECRET=your-secret-here \
ghcr.io/jaikoo/bloop:latest
Then open http://localhost:5332 and register your passkey.