Skip to content

Quick Start

RequirementMinimum version
Python3.14.x
Poetry1.8
Docker + Composeany recent version (for MongoDB)

The quickstart docker-compose.yaml lives at the workspace root, one level above OpenTremor-core — it bind-builds OpenTremor-core, both Terraform analyzer repos, OpenTremor-dashboard, and OpenTremor-docs as siblings, all behind one HAProxy front door. Clone or check out all five repos side by side, then run everything from that root directory.

A ready-to-use config (configs/opentremor-local.yaml, at the workspace root) is included — no manual MongoDB initialisation needed, mongodb’s indexes are created on first boot. It’s mounted read-only into the core container and shared with docker-compose.dev.yaml, so both local stacks read one file; see configs/README.md for why the per-repo configs still carry their own copy of the dev credentials.

Terminal window
docker compose up --build

The --build flag builds opentremor-core-test:latest (core + both analyzers, a local-test-only bundled image), opentremor-dashboard:latest, and opentremor-docs-test:latest on first run. Subsequent starts can omit it: docker compose up.

Everything is served through HAProxy at one URL:

ServiceURL
Everything (API, dashboard, docs)http://localhost:8080
OpenTremor Core API directlyhttp://localhost:8000
Dashboard directlyhttp://localhost:3001
Docs directlyhttp://localhost:4321

Hitting a service’s own port directly still renders pages, but client-side calls that assume HAProxy’s routing won’t resolve — use :8080 for the real thing.


Terminal window
curl http://localhost:8000/health
# {"status": "healthy", "timestamp": "..."}
curl http://localhost:8000/analyzers
# {"analyzers": [{"name": "terraform-plan", "description": "..."}, {"name": "terraform-code-change", ...}]}