🐦 Open Source · v0.1 · MIT

A canary for your
monitoring gateway

One login. All your dashboards. Deploy on the edge β€” far from the infrastructure it monitors. Because a canary that lives in the mine isn't much use.

Star on GitHub Quick Start β†’
monitor.yourdomain.com
# Deploy on Cloudflare Pages in minutes $ git clone github.com/sandikodev/kenari $ bun install && bun run build:edge βœ“ Authenticated Β· admin@yourdomain.com Available dashboards 🟒 Uptime Kuma β†’ /uptime πŸ“Š Grafana β†’ /grafana πŸ” Custom β†’ /custom
How it works

Simple by design

Kenari sits between your users and your monitoring tools, handling auth so your tools don't have to.

01

Deploy on the edge

Run on Cloudflare Pages β€” geographically separate from your infrastructure.

02

Configure routes

Add your tools in monitor.config.ts. No UI, no database migrations.

03

Login once

Email/password or GitHub OAuth. Session managed by Lucia auth.

04

Access everything

Kenari proxies requests with auth headers injected automatically.

Features

Everything you need

Built for teams who take monitoring seriously.

πŸ”

Single Sign-On

One login for all your monitoring tools. Email/password and GitHub OAuth out of the box.

🌍

Edge-first

Deploy on Cloudflare Pages or Vercel. Separate from what you monitor β€” by design.

πŸ”Œ

Config-driven

Add routes in a single TypeScript file. No database migrations, no UI clicks required.

🟒

Health checks

Real-time upstream status on your dashboard. Know immediately when something is down.

πŸ¦€

Kenari CLI coming v0.3

Rust agent for monitored hosts. Sends metrics without exposing inbound ports.

πŸ“‹

Audit log v0.2

Who accessed what, when. Full visibility into your team's monitoring activity.

Architecture

Designed for resilience

Kenari lives on the edge. Your tools live on your servers. They never need to be in the same place.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Edge (Cloudflare / Vercel) β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Kenari Gateway β”‚ β”‚ β”‚ β”‚ /uptime ──proxy──▢ Uptime Kuma β”‚ β”‚ β”‚ β”‚ /grafana ──proxy──▢ Grafana β”‚ β”‚ β”‚ β”‚ /custom ──proxy──▢ Any Tool β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ Turso DB (sessions) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Your Server β”‚ β”‚ Your Server β”‚ β”‚ kenari-cli πŸ¦€ β”‚ β”‚ kenari-cli πŸ¦€ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Roadmap

What's coming

Kenari is actively developed. Here's what's planned.

v0.1 β€” Now

Gateway

βœ“
SvelteKit 5 + Lucia auth
βœ“
Proxy with auth injection
βœ“
Health check dashboard
βœ“
Edge + self-hosted deploy
βœ“
GitHub OAuth
β—‹
Setup wizard
β—‹
Docker Compose example
v0.2 β€” Next

Polish

β—‹
Public status page
β—‹
Audit log
β—‹
Role-based access
β—‹
Notifications (Telegram)
β—‹
WebSocket proxy
v0.3 β€” Future

Kenari CLI πŸ¦€

β—‹
Rust agent for hosts
β—‹
CPU, memory, disk metrics
β—‹
Push-only, no inbound ports
β—‹
systemd integration
β—‹
Custom metric plugins

Ready to deploy?

Open source. Free forever. Deploy in minutes.

Star on GitHub Read the docs β†’