Self-hosted APM and error tracking built on OpenTelemetry.
A collector and dashboard in two tiny Rust binaries. Designed for small teams, side projects, and production systems that don't need a platform.
Most APM tools today are either expensive SaaS platforms or require assembling multiple components. For many teams, both are overkill.
Concrete features. No fluff.
Full request-to-response visibility with waterfall visualization.
Exceptions with full context, automatically grouped by fingerprint.
Know which endpoints need attention.
Automatically identifies repeated query patterns in your traces.
Correlate releases with performance and errors.
POST /ingest/deploysIsolate apps with dedicated API keys and user accounts.
Run MiniAPM, point your OpenTelemetry exporter at it, done.
# 1. Create docker-compose.yml services: collector: image: ghcr.io/miniapm/miniapm ports: ["3000:3000"] volumes: [miniapm_data:/data] dashboard: image: ghcr.io/miniapm/miniapm-admin ports: ["3001:3001"] volumes: [miniapm_data:/data] volumes: miniapm_data: # 2. Start it up docker compose up -d # Your API key is printed in the collector logs: INFO miniapm::server: API key: proj_abc123... # 3. Point your OTEL exporter at the collector OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:3000/ingest OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer proj_abc123... # 4. Open http://localhost:3001 for the dashboard
Using Rails? Add our miniapm gem for zero-config instrumentation.
The API key is printed on every collector start for easy access.
MiniAPM is a good fit if you value simplicity and control.
Production visibility without production costs
Focus on building, not configuring
Keep everything on your infrastructure
Deploy per-client with zero marginal cost
Professional observability, indie budget
Tired of heavyweight stacks
If you need these, great tools exist already. MiniAPM focuses on making production behavior understandable, quickly.
Your data stays on your machine.