Quickstart
Get an account, mint an API key, drop the agent into your docker-compose.yml, see logs and metrics flowing within ten minutes.
Lumin is a small monitoring stack for indie SaaS teams of one to five. The whole instrumentation story is one container next to your services plus one snippet in your browser app — no OpenTelemetry collector, no eleven product tabs, no per-GB roulette.
Quickstart
Get an account, mint an API key, drop the agent into your docker-compose.yml, see logs and metrics flowing within ten minutes.
Install the agent
The full agent reference: compose service, environment variables, Docker socket proxy, networking model.
Stacks
Per-stack snippets for Gin, Spring Boot, Express, FastAPI, and the browser SDK. Use the canonical http.* metric names so different services chart side by side.
Concepts
The mental model: how projects + API keys scope ingest, how logs are stored and live-tailed, how metric labels and cardinality work, how uptime checks probe from outside.
/metrics endpoint.{timestamp, level, service, message, attributes, trace_id}, live-tailable via SSE.@lumin-monitor/browser (page / track / identify).Tag your server logs with the browser’s session id and you can filter them by it — see Linking browser events to server logs. It is a filter you apply, not a link you click.
Signup is open at app.getlumin.dev/signup. Every account starts on the free Hobby tier; the plans page lists the paid tiers.
Logs, host + container metrics, container log tailing, Prometheus /metrics scraping, session timelines, uptime checks, and Slack alerting all work end-to-end.
Not built yet: session replay, any clickable pivot between a session and its logs, and alerts that fire from a failed uptime check — alert rules watch metrics and log patterns only. Funnels exist but are gated to instance admins while they are finished.