Skip to content

Quick Start

Get DuraGraph running locally and execute your first workflow.

  • Docker and Docker Compose
  • Git
  • Task (optional, for convenience commands)

Clone and start all services:

Terminal window
git clone https://github.com/Duragraph/duragraph.git
cd duragraph
task up

This starts:

  • API Server (port 8081) — REST API and SSE streaming
  • PostgreSQL — Event store and projections
  • NATS JetStream — Event streaming
  • Dashboard (port 3000) — Workflow monitoring UI

Verify services are running:

Terminal window
task health

Create an assistant:

Terminal window
curl -X POST http://localhost:8081/api/v1/assistants \
-H "Content-Type: application/json" \
-d '{"name": "hello-assistant", "graph_schema": {}}'

Create a thread:

Terminal window
curl -X POST http://localhost:8081/api/v1/threads \
-H "Content-Type: application/json" \
-d '{}'

Create a run (replace <thread_id> and <assistant_id> with values from above):

Terminal window
curl -X POST http://localhost:8081/api/v1/runs \
-H "Content-Type: application/json" \
-d '{
"thread_id": "<thread_id>",
"assistant_id": "<assistant_id>",
"input": {"message": "Hello!"}
}'

Open the Dashboard at http://localhost:3000 to:

  • View workflow execution logs
  • Monitor run status in real-time
  • Debug failed runs
  • Explore workflow graphs

Subscribe to real-time updates for a run:

Terminal window
curl -N "http://localhost:8081/api/v1/stream?run_id=<run_id>"

Services won’t start?

Terminal window
# Check service status
docker compose ps
# View logs
docker compose logs api

Port already in use?

Terminal window
# Find what's using the port
lsof -i :8081
# Stop all services and restart
task down && task up

Need help? Join our community or report an issue.