Skip to main content
Get Lumina running locally with Docker Compose.

Prerequisites

Required:
  • Docker 20.10 or higher
  • Docker Compose 2.0 or higher
  • 4GB RAM minimum
  • Ports available: 3000, 8081, 9411
Verify installation:
Optional:
  • Anthropic API key (for replay with Claude models)
  • OpenAI API key (for replay with GPT models)
API keys are only required for the replay feature. Core functionality (tracing, cost tracking, alerting) works without API keys.

Installation

Step 1: Clone Repository

Step 2: Start Services

First-time startup takes 2-3 minutes for image pulls and database initialization.
Add -d to run in detached mode (background). Omit -d to view logs in real-time.

Step 3: Verify Services

Check all services are running:
Expected output:
All services should show Up (healthy) status.

Step 4: Access Dashboard

Open your browser and navigate to:
You should see the Lumina dashboard with an empty traces page.

Send Your First Trace

Now let’s send a test trace to verify everything works. Install SDK:
Create test file: Create test-trace.ts:
Run it:
Expected output:
Refresh the dashboard. You should see your trace with:
  • Service name: quickstart-test
  • Endpoint: hello-claude
  • Model: claude-sonnet-4-5
  • Automatic cost calculation
  • Token counts (prompt, completion)
  • Latency measurement

Option 2: Using cURL

Send a trace directly via HTTP:
Self-hosted Lumina runs without authentication by default. No API key required.

View Your Trace

  1. Open http://localhost:3000/traces
  2. You should see your test trace
  3. Click on the trace to view details:
    • Full prompt and response
    • Token breakdown
    • Cost calculation
    • Latency timeline
    • Custom metadata
First trace in dashboard

Next Steps

Instrument Your App

Add tracing to your production application

Multi-Span Tracing

Track complex workflows like RAG pipelines

Configure Alerts

Get notified of cost spikes and quality drops

Deploy to Production

Production deployment with Kubernetes

Optional Configuration

Add LLM API Keys

To use the replay feature, add API keys:

Customize Ports

Edit infra/docker/.env:
Restart services:

Configure Retention

Set trace retention period:

Troubleshooting

Port Already in Use

Error: bind: address already in use Solution: Change ports in .env or stop conflicting service:

Services Not Starting

Error: Container exits immediately Solution 1: Check Docker resources Docker Desktop → Settings → Resources:
  • Memory: Set to at least 4GB
  • Disk: Ensure 10GB+ available
Solution 2: View logs

Database Connection Failed

Error: connection refused or could not connect to server Solution: Wait for PostgreSQL to be fully ready:

Dashboard Shows “Failed to Fetch”

Error: Dashboard loads but shows error when fetching data Solution 1: Verify API is running
Expected response:
Solution 2: Check API logs

Traces Not Appearing

Issue: Sent trace but not visible in dashboard Solution 1: Check ingestion logs
Solution 2: Verify endpoint Ensure SDK points to correct endpoint:
Solution 3: Check trace format Lumina expects OTLP format. Verify your trace matches OpenTelemetry spec.

Advanced Options

Run in Development Mode

For active development with hot reload:

View Real-Time Logs

Reset Database

This deletes all traces permanently. Backup data before running.

Stopping Lumina

Data is stored in Docker volumes:
  • postgres-data — All traces and metadata
  • redis-data — Cached semantic scores
  • nats-data — Message queue state

What’s Next?

You now have Lumina running locally with your first trace. Next steps:
  1. Instrument your application — Add tracing to your production app
  2. Learn multi-span tracing — Track complex workflows
  3. Configure alerts — Get notified of issues
  4. Deploy to production — Kubernetes deployment

Need Help?