Install by Docker

You can install kroki manually using Docker. I included Diagrams.net (Draw.io) and Mermaid.

Docker install

Install Docker

sudo apt install docker

sudo usermod -aG kvm dockeruser 
ls -al /dev/kvm

Set up Docker’s apt repository https://docs.docker.com/engine/install/debian/#install-using-the-repository

sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Add the repository to the Apt source:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

download: https://desktop.docker.com/linux/main/amd64/145265/docker-desktop-4.29.0-amd64.deb?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-linux-amd64

sudo apt install ./docker-desktop-4.29.0-amd64.deb  

Start the Desktop app

systemctl --user start docker-desktop

Set up pass https://docs.docker.com/desktop/get-started/#credentials-management-for-linux-users

gpg --generate-key # this will create a key
pass init  <key generated in previous command>
docker compose version

Install docker file https://hub.docker.com/r/yuzutech/kroki

docker pull yuzutech/kroki

Run docker file detached and map it from port 8000 to port 8001. https://docs.kroki.io/kroki/setup/use-docker-or-podman/

docker run -p8001:8000 -d yuzutech/kroki

Managing Docker

docker stats #displays docker processes
docker stop [name] # stops running process

Install and Run Kroki - Mermaid and Diagramsnet (draw.io)

docker pull yuzutech/kroki-mermaid
docker pull yuzutech/kroki-diagramsnet

Edit Yaml

Create folder docker/kroki and save the file below as docker-compose.yml

version: "3" 
services:
  kroki:
    image: yuzutech/kroki
    depends_on:
      - mermaid
      - diagramsnet
    environment:
      - KROKI_MERMAID_HOST=mermaid
      - KROKI_DIAGRAMSNET_HOST=diagramsnet
    ports:
      - "8001:8000"
  mermaid:
    image: yuzutech/kroki-mermaid
    expose:
      - "8002"
  diagramsnet:
    image: yuzutech/kroki-diagramsnet
    expose:
      - "8003"

Run/Stop

To start the docker, in the folder with the yml file:

docker compose up -d

To stop the docker, in the folder with the yml file:

docker compose stop