Keen-Kestrel
ghcr.io/ferdinand99/keen-kestrel:latest
https://github.com/Ferdinand99/Keen-Kestrel/pkgs/container/keen-kestrel
bridge
sh
false
https://github.com/Ferdinand99/Keen-Kestrel/issues
https://hedgerow.tools/Keen-Kestrel/
Keen Kestrel is self-hosted error tracking and privacy-friendly analytics in one small Rust binary with SQLite: no Kafka, ClickHouse, Redis or Postgres.
Errors: point the official Sentry SDKs (Swift/iOS, JavaScript, Python, Rust, Go and more) at Kestrel's DSN. Events are scrubbed of personal data and grouped into issues with search, stack traces, resolve/ignore/merge, alerts to ~40 notification services, release health (crash-free sessions and users), and iOS/macOS crash symbolication from dSYMs uploaded with sentry-cli.
Analytics: cookieless web analytics with the 1 KB k.js snippet, and app signals from the KestrelKit Swift package. No IP addresses or user agents are stored, and Global Privacy Control is respected.
Also: a REST API with OpenAPI, MCP tools for coding assistants, users with roles and two-factor login, 26 languages.
Setup: open the WebUI after the first start and create the admin account. Set KK_PUBLIC_URL to the address your apps and sites use (it goes into DSNs, the k.js snippet and alert links). Behind a reverse proxy, set KK_TRUST_PROXY to 1. Everything lives in two SQLite files under /data (appdata).
Tools:Utilities Network:Management
http://[IP]:[PORT:3002]/
https://raw.githubusercontent.com/Ferdinand99/unraid-templates/main/templates/keen-kestrel.xml
https://raw.githubusercontent.com/Ferdinand99/Keen-Kestrel/main/assets/brand/kestrel-icon.png
Early release (v0.1). To receive events from phones and websites, Kestrel must be reachable from the internet over HTTPS, for example through a reverse proxy or tunnel; set KK_PUBLIC_URL to that address.
3002
/mnt/user/appdata/keen-kestrel
0
99
100
Europe/Oslo
info