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.

All the companion containers are optional. Only the yuzutech-kroki container is mandatory.

Docker or Podman

We recommend installing Kroki using containers with either Docker or Podman, especially if you don’t want to manually install diagrams libraries.

Read more about choosing between Docker or Podman on the About Docker and Podman for Kroki page.

Find how to install Kroki using Docker or Podman on the Using Docker or Podman page.

Kubernetes

Find how to make a Kubernetes installation on the Use Kubernetes 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 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:

In other words, the following endpoints will be available:

/actdiag
/blockdiag
/bytefield
/c4plantuml
/d2
/ditaa
/erd
/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.