# Lumin docs

> Monitoring you finish setting up before lunch. One container, your whole stack.

One container, your whole stack. Logs, metrics, and the user sessions that cause them — in a single dashboard.

Canonical: https://docs.getlumin.dev/

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.

## Start here

### Quickstart

Get an account, mint an API key, drop the agent into your `docker-compose.yml`, see logs and metrics flowing within ten minutes.

[Read the quickstart →](https://docs.getlumin.dev/quickstart/)

### Install the agent

The full agent reference: compose service, environment variables, Docker socket proxy, networking model.

[Agent install →](https://docs.getlumin.dev/agent/install/)

### 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.

[Stack guides →](https://docs.getlumin.dev/stacks/)

### 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.

[Concepts →](https://docs.getlumin.dev/concepts/)

## The five things Lumin tells you

1. **Is my site up?** — HTTP checks probed from Lumin's servers every 30 s to 15 min, with a per-check degraded threshold. The dashboard opens on them.
2. **Is my service healthy?** — Host and container metrics from the agent, plus request rate, error rate, and latency from your own `/metrics` endpoint.
3. **What's in the error log?** — Structured logs with `{timestamp, level, service, message, attributes, trace_id}`, live-tailable via SSE.
4. **What are users doing?** — Per-session timelines from `@lumin-monitor/browser` (`page` / `track` / `identify`).
5. **Who tells me when it breaks?** — Threshold rules over one metric or a log pattern, delivered to Slack when they fire and again when they recover.

Tag your server logs with the browser's session id and you can filter them by it — see [Linking browser events to server logs](https://docs.getlumin.dev/stacks/browser/#linking-browser-events-to-server-logs). It is a filter you apply, not a link you click.

## Status

Signup is open at [app.getlumin.dev/signup](https://app.getlumin.dev/signup). Every account starts on the free Hobby tier; the [plans](https://docs.getlumin.dev/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.
