selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

duragraph logo

Self-host duragraph

v0.8.1

Event-sourced AI workflow orchestration, crash-safe replay

BetaOpen CoreApache-2.0
Updated10 hours ago
LanguageGo
Setup difficultyModerate
ThemeDark mode
Stars
161
CPU
2 cores (dev) / 4+ cores (prod)
RAM
4GB (dev) / 8GB+ (prod)
Storage
10GB free space (dev) / 50GB+ free space (prod)
Ports
8081 (API Server (dev mode)), 8080 (API Server (production)), 5173 (Dashboard (Docker Compose))
Requires
NATS JetStream, PostgreSQL
Docker
duragraph/duragraph
Install with Docker Compose

What is duragraph?

DuraGraph is a self-hosted control plane for AI agent workflows that records every state change as an immutable event in PostgreSQL. This event-sourced design gives crash-safe execution (workers can die mid-tool-call without losing work), full replayability of runs for debugging, and audit trails. The control plane is a single Go binary that embeds PostgreSQL and NATS for zero-config development, while production deployments use external PostgreSQL and NATS JetStream via Docker Compose or Kubernetes. It offers Python and Go worker SDKs (TypeScript coming), a React dashboard with visual workflow editor and live execution traces, REST and SSE APIs, OpenTelemetry/Prometheus observability, human-in-the-loop approvals, and per-node LLM model choice supporting OpenAI, Anthropic, Gemini, and Hugging Face. The core is Apache 2.0 licensed; enterprise features are source-available. Current version is pre-1.0 (v0.8.x) with production Helm charts and multi-tenancy in development.

Should you self-host duragraph?

duragraph scores 43/100 on selfhost.directory (how scoring works) and ranks #6 of 7 in AI Workflows. It has 161 GitHub stars.

It shipped 9 stable releases in the past year. The latest, v0.8.1, came out on 10 September 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is windmill (77/100, 18 307 stars). It scores higher overall, so compare the two before you pick. See duragraph vs windmill side by side.

Features

  • CQRS
  • Event Sourcing
  • Fault Tolerance
  • Go SDK
  • Horizontal Scaling
  • Human in the Loop
  • Multi-LLM support
  • Python SDK
  • RBAC
  • React dashboard
  • REST API
  • Run replay
  • Single-binary dev mode
  • SSE streaming

duragraph README

How to install duragraph

Install duragraph with Docker Compose

Environment variables
DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME, DB_SSLMODE, NATS_URL, PORT, HOST, AUTH_ENABLED, JWT_SECRET, OPENAI_API_KEY, ANTHROPIC_API_KEY

git clone https://github.com/duragraph/duragraph.git cd duragraph docker compose up -d

Production Docker Compose with external PostgreSQL and NATS

How to configure duragraph

  • ANTHROPIC_API_KEYAnthropic API key for LLM calls

    Anthropic API key for LLM calls

  • AUTH_ENABLEDfalseEnable JWT authentication

    Enable JWT authentication

    values: true, false

  • DB_HOSTlocalhostPostgreSQL host

    PostgreSQL host

  • DB_NAMEappdbDatabase name

    Database name

  • DB_PASSWORDDatabase password

    Database password

  • DB_PORT5432PostgreSQL port

    PostgreSQL port

  • DB_SSLMODEdisableSSL mode (disable, require)

    SSL mode (disable, require)

    values: disable, require

  • DB_USERappuserDatabase user

    Database user

  • HOST0.0.0.0API server host

    API server host

  • JWT_SECRETJWT signing secret (256-bit)

    JWT signing secret (256-bit)

  • LOG_FORMATLog format (json for production)

    Log format (json for production)

    values: json, text

  • LOG_LEVELinfoLog level

    Log level

    values: debug, info, warn, error

  • NATS_URLnats://localhost:4222NATS connection URL

    NATS connection URL

  • OPENAI_API_KEYOpenAI API key for LLM calls

    OpenAI API key for LLM calls

  • PORT8080API server port

    API server port

duragraph releases & version history

FAQ

Is it really open source?

Core is Apache 2.0; enterprise features are source-available. Your data is always yours.

Do I need Docker or Kubernetes?

No. duragraph dev runs everything embedded; production points at your own Postgres and NATS.

Which LLM providers are supported?

Any — first-class OpenAI and Anthropic, with per-node model choice.

How does it scale?

Workers scale horizontally with optimistic concurrency, lease-epoch fencing, and a transactional outbox.

Can I run it air-gapped?

Yes, a single binary with embedded Postgres and NATS, no required outbound calls.

Where does my data live?

On your own PostgreSQL and network. Self-hosted, never phones home.

More in AI Workflows

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…