Install Kroki
This section covers installing Kroki locally.
On this page, you’ll learn:
- How to get started
- The different ways to install Kroki
- About the Kroki pre-built image containers and the diagrams they provide
Get started
Use either Docker or Podman as the easiest and fastest method to get started running Kroki locally on a system with Internet access using the pre-built Kroki containers published on Docker Hub.
Start the mandatory yuzutech/kroki container only to use a large number of diagram libraries immediately including PlantUML, GraphViz and more.
Depending on your diagram needs, this may be enough.
For the lists of diagram libraries pre-installed in each container see the Kroki container images section on this page.
📌 NOTE
All the companion containers are optional.
Only the yuzutech-kroki container is mandatory.
Kubernetes
Find how to make a Kubernetes installation on the use-kubernetes.mdx page.
Manual installation
You can also make a customized manual installation that suits your needs.
To do this, you will need to manually install the Kroki gateway server as a standalone executable jar, install each diagram library that you want to use, then run the gateway server jar file.
You are responsible for managing diagram library installations on your system.
Find how to make a manual installation on the Manual installation page.
Kroki container images
Kroki container images are published on the Docker Hub registry and are the:
- Mandatory ["kroki" container](#The "kroki" container) that provides the gateway server and a large number of diagrams.
- Optional companion containers that provide additional diagrams. Please note that you need the gateway server to interact with them.
The "kroki" container
The yuzutech/kroki container is the only container that must be running for a minimal install.
The yuzutech/kroki image contains the gateway server, and the following diagram libraries out-of-the-box:
- ActDiag
- BlockDiag
- Bytefield
- D2
- Ditaa
- Erd
- GoAT
- GraphViz
- Nomnoml
- NwDiag
- PacketDiag
- Pikchr
- PlantUML including C4 model
- RackDiag
- SeqDiag
- Structurizr
- Svgbob
- Symbolator
- UMlet
- Vega
- Vega-Lite
- WaveDrom
- WireViz
In other words, the following endpoints will be available:
/actdiag
/blockdiag
/bytefield
/c4plantuml
/d2
/ditaa
/erd
/goat
/graphviz
/dot
/nomnoml
/nwdiag
/packetdiag
/pikchr
/plantuml
/rackdiag
/seqdiag
/structurizr
/svgbob
/symbolator
/umlet
/vega
/vegalite
/wavedrom
/wireviz
If you want to use additional diagram libraries (such as BPMN, Excalidraw or Mermaid), then you will also need to start their companion containers:
Companion containers
These optional companion containers provide additional diagrams and require the gateway server
-
yuzutech/kroki-bpmn
Provides BPMN diagrams for Kroki using the bpmn-js library. -
yuzutech/kroki-excalidraw
Provides hand-drawn diagrams for Kroki using the Excalidraw library. -
yuzutech/kroki-mermaid
Provides flowchart, sequence and Gantt diagrams for Kroki using the Mermaid library. -
yuzutech/kroki-diagramsnet (experimental)
Provides diagrams for Kroki using the diagrams.net library.