DEV Community

Cover image for I built a self-hosted log search tool for my team
Oleksandr Zhyhalo
Oleksandr Zhyhalo

Posted on

I built a self-hosted log search tool for my team

The backstory

Some time ago I adopted Quickwit at my company. For anyone who hasn't used it: Quickwit is a search engine that runs full-text search directly on object storage (S3 or anything S3-compatible). It decouples compute from storage, so you don't pay to keep big indexes warm to search older data. That model fits logs well.

It worked well for us, but there was a gap. Quickwit is excellent at the search engine part and leaves the rest to you by design: no end-user experience around it, and little access control. We were missing what a team needs day to day, like a usable UI, authentication, and gated ingest.

I started building that layer myself. It turned into Rootprint.

What it is

Besides the basics you'd expect for working with logs (controlling the view, seeing context around a log line, a filters panel, a histogram, severity-aware views), it adds:

  • User management with Google and GitHub authentication
  • Authenticated endpoints to ingest data
  • Cluster stats so you can see what's going on
  • A user activity overview
  • Control over sources, and more

It runs on your own infrastructure, and it's Apache-2.0 licensed.

The stack

I wanted it light and fast, so:

  • Backend: Hono running on Bun
  • Frontend: Svelte 5 + SvelteKit, with Tailwind and DaisyUI

How it plugs in

Rootprint connects to any Quickwit instance through an environment variable. One caveat: it needs Quickwit 0.9+.

To get started, grab the Docker Compose file and run it:

curl -o docker-compose.yml https://docs.rootprint.io/files/docker-compose.full.yaml
docker compose up -d
Enter fullscreen mode Exit fullscreen mode

The docs cover the rest of the installation options: docs.rootprint.io/install/docker-compose.

Where it's going

I want to build a platform for logs and traces that holds up against anything else out there. Right now I'm focused on the log search experience; traces are on the roadmap but not built yet.

It's still early and pre-1.0, so expect breaking changes between releases.

I'd love your feedback

If this sounds useful, I'd appreciate you trying it out and telling me what's broken, confusing, or missing. Feedback and contributors are welcome.

Thanks for reading.

Top comments (0)