Skip to content
molesignal
5 minutes

Quick Start

Five minutes to your first query.

Prerequisites

  • docker

    Docker + Docker Compose 2.x

  • helm

    Kubernetes 1.27+ and Helm 3.x with read/write S3 credentials

  • binary

    Linux x86_64 + writable workdir + 4 GB RAM

Install

terminal · standalone sandbox
# Postgres + MinIO + molesignal standalone, 1 command
docker compose -f deploy/docker/docker-compose.yaml --profile standalone up

# UI:        http://localhost:5080
# S3 admin:  http://localhost:9001  (minioadmin / minioadmin)

Send your first data

An OTLP HTTP POST. Any OpenTelemetry SDK, Vector, or Fluent Bit will produce the same shape.

terminal · OTLP ingest
curl -X POST http://localhost:5080/api/v1/ingest/logs/app \
  -H 'content-type: application/json' \
  -H 'authorization: Bearer <jwt>' \
  -d '[{"_timestamp":1700000000000000,"level":"error","msg":"db pool exhausted","trace_id":"abc123"}]'

Run your first query

SQL against the stream. PromQL and VRL also work — same engine, same Parquet.

terminal · SQL query
curl -X POST http://localhost:5080/api/v1/query \
  -H 'authorization: Bearer <jwt>' \
  -H 'content-type: application/json' \
  -d '{"org_id":"<from-login>","language":"sql",
       "statement":"SELECT * FROM app WHERE trace_id = '\''abc123'\''",
       "time_range":{"start":0,"end":2000000000000000},
       "stream":{"name":"app","stream_type":"logs"}}'

Troubleshooting

  • Port 5080 is already in use
    Set MOLE_HTTP_PORT in your env or change the host port mapping in docker-compose.yaml.
  • I get 'no such org' on the first query
    The standalone profile creates a default org on first login. Visit http://localhost:5080 first and complete the bootstrap.
  • MinIO admin says I can't write to the bucket
    Default creds are minioadmin/minioadmin. Check the bucket was created — molesignal creates it on first ingest, so send a single OTLP request first.
  • Cargo build fails when running from source
    Rust 1.74+ required. Use rustup update stable. If you're on Apple Silicon, install Xcode CLT first.
  • Real-time alerts don't fire
    kind: realtime requires an alert source on a write path stream. Check the alert is bound to the same stream you're writing to.