Architecture

Kroki has a modular architecture and provides multiple components:

Gateway Server

This component is the entry point of Kroki. The server is using Vert.x and will route the request to different services.

Mermaid

A companion web server written in JavaScript (powered by micro) that provides Mermaid diagram library.

BPMN

A companion web server written in JavaScript (powered by micro) that provides bpmn-js to render BPMN diagrams.

Excalidraw

A companion web server written in JavaScript (powered by micro) that provides Excalidraw to render diagrams.

Diagrams.net

A companion web server written in JavaScript (powered by micro) that provides diagrams.net to render diagrams.

Gateway Server

The yuzutech/kroki Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

ActDiag

3.1.0

BlockDiag

3.1.0

Bytefield

1.10.0

C4 with PlantUML

1.2024.1

Ditaa

1.0.3

Erd

0.2.3

GraphViz

9.0.0

Nomnoml

1.6.2

NwDiag

3.1.0

PacketDiag

3.1.0

Pikchr

7269f78c4a

PlantUML

1.2024.1

RackDiag

3.1.0

SeqDiag

3.1.0

Structurizr

3.0.0

Svgbob

0.7.0

Symbolator

1.2.2

UMlet

15.1

Vega

5.30.0

Vega-Lite

5.21.0

WaveDrom

3.5.0

WireViz

0.3.3

Mermaid

The yuzutech/kroki-mermaid Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

Mermaid

11.4.0

BPMN

The yuzutech/kroki-bpmn Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

bpmn-js

18.0.0

Excalidraw

The yuzutech/kroki-excalidraw Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

Excalidraw

0.17.6

Diagrams.net (experimental)

The yuzutech/kroki-diagramsnet Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

diagrams.net

16.2.4