Adrian A. Baumann adebaumann
  • Joined on 2025-09-30

kroki (0.026)

Published 2025-10-06 14:17:04 +00:00 by adebaumann in adebaumann/vgui-cicd

Installation

docker pull git.baumann.gr/adebaumann/kroki:0.026
sha256:2fe11a5ee84b3125ce59d06ea545caf031a0d4127abc14250974054cd4904714

About this package

Kroki provides a unified API supporting multiple diagramming formats, making it easy to create diagrams from textual descriptions.

Image Layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.ref.name=ubuntu
LABEL org.opencontainers.image.version=24.04
ADD file:1d7c45546e94b90e941c5bf5c7a5d415d7b868581ad96171d4beb76caa8ab683 in /
CMD ["/bin/bash"]
ENV JAVA_HOME=/opt/java/openjdk
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl wget gnupg fontconfig ca-certificates p11-kit tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit
ENV JAVA_VERSION=jdk-17.0.14+7
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='a4b0015872758aac6a5d17139e952a3951ee536ae6d9a99828823a80a71add56'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_x64_linux_hotspot_17.0.14_7.tar.gz'; ;; arm64) ESUM='bab3f352fc7144ac1435924f056872d16f4b32c8bcda58b9a77b636eb1c664f4'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.14_7.tar.gz'; ;; armhf) ESUM='7ac439bce4d5ecddb250b31401b1c1a6da2762f51652eafedd53584a0d9e3130'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_arm_linux_hotspot_17.0.14_7.tar.gz'; ;; ppc64el) ESUM='2a730e9d34cce4d588739b626a034ed68c065a2db61048ee7886be48ec9fe460'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_ppc64le_linux_hotspot_17.0.14_7.tar.gz'; ;; riscv64) ESUM='2f77e44aa9fec9cf35b0b1fd492055e7fec0a3ea4d4338def6b42bd46d485e02'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_riscv64_linux_hotspot_17.0.14_7.tar.gz'; ;; s390x) ESUM='3887f14f95a14e65a985cfcee6696e01aadee06d3347ab70eb7d6b16ce397238'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_s390x_linux_hotspot_17.0.14_7.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit
RUN /bin/sh -c set -eux; echo "Verifying install ..."; echo "java --version"; java --version; echo "Complete." # buildkit
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
ENTRYPOINT ["/__cacert_entrypoint.sh"]
ARG BLOCKDIAG_VERSION=3.1.0
ARG D2_VERSION=0.7.0
ARG DITAA_VERSION=1.0.3
ARG DVISVGM_VERSION=3.2.1+ds-1build1
ARG GRAPHVIZ_VERSION=9.0.0
ARG PLANTUML_VERSION=1.2025.2
ARG UMLET_VERSION=2023-03-20_UMLet_v15.1
ARG WIREVIZ_VERSION=0.3.3
ARG TARGETARCH=amd64
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install --no-install-recommends --yes adduser && addgroup --gecos 1001 kroki && adduser --disabled-password --ingroup kroki -u 1001 kroki # buildkit
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install --no-install-recommends --yes unzip dvisvgm=$DVISVGM_VERSION libpango1.0-dev librsvg2-dev fonts-freefont-ttf fonts-liberation fonts-noto-cjk ghostscript giflib-tools gsfonts libnuma1 libgd3 libgif-dev libjpeg-dev libgirepository-1.0 libcairo2-dev libcairo-gobject2 libjpeg9 libpango-1.0-0 libpangocairo-1.0-0 poppler-utils texlive texlive-latex-extra texlive-pictures texlive-pstricks texlive-science && apt-get clean && apt-get autoremove # buildkit
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c wget "https://github.com/yuzutech/graphviz-builder/releases/download/${GRAPHVIZ_VERSION}/dot-linux-${TARGETARCH}" -O /usr/bin/dot && chmod +x /usr/bin/dot # buildkit
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c wget "https://github.com/yuzutech/ditaa-mini/releases/download/${DITAA_VERSION}/ditaamini-linux-${TARGETARCH}-${DITAA_VERSION}" -O /usr/bin/ditaa && chmod +x /usr/bin/ditaa # buildkit
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c wget "https://github.com/terrastruct/d2/releases/download/v${D2_VERSION}/d2-v${D2_VERSION}-linux-${TARGETARCH}.tar.gz" -O - | tar -zxv -C /usr/bin d2-v${D2_VERSION}/bin/d2 && mv usr/bin/d2-v${D2_VERSION}/bin/d2 /usr/bin/d2 && chmod +x /usr/bin/d2 # buildkit
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c wget "https://github.com/yuzutech/plantuml/releases/download/v${PLANTUML_VERSION}/plantuml-linux-${TARGETARCH}-${PLANTUML_VERSION}.zip" -O plantuml-bin.zip && unzip plantuml-bin.zip -d plantuml && mv plantuml/* /usr/bin/ && mv /usr/bin/plantuml-linux-${TARGETARCH}-${PLANTUML_VERSION} /usr/bin/plantuml && chmod +x /usr/bin/plantuml # buildkit
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c wget "https://github.com/yuzutech/umlet/releases/download/${UMLET_VERSION}/umlet-linux-${TARGETARCH}" -O /usr/bin/umlet && chmod +x /usr/bin/umlet # buildkit
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c wget "https://github.com/yuzutech/blockdiag/releases/download/v${BLOCKDIAG_VERSION}/blockdiag-bundle-linux-${TARGETARCH}.bin" -O /usr/bin/blockdiag && chmod +x /usr/bin/blockdiag # buildkit
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c wget "https://github.com/yuzutech/WireViz/releases/download/v${WIREVIZ_VERSION}/wireviz-linux-${TARGETARCH}.bin" -O /usr/bin/wireviz && chmod +x /usr/bin/wireviz # buildkit
COPY /root/.cabal/bin/erd /usr/bin/erd # buildkit
COPY /app/app.bin /usr/bin/bytefield # buildkit
COPY /app/app.bin /usr/bin/dbml # buildkit
COPY /app/app.bin /usr/bin/nomnoml # buildkit
COPY /build/pikchr /usr/bin/pikchr # buildkit
COPY /usr/local/cargo/bin/svgbob_cli /usr/bin/svgbob # buildkit
COPY /build/symbolator.bin /usr/bin/symbolator # buildkit
COPY /app/app.bin /usr/bin/vega # buildkit
COPY /app/app.bin /usr/bin/wavedrom # buildkit
COPY tikz2svg /usr/bin/tikz2svg # buildkit
COPY --chown=kroki:kroki ops/docker/logback.xml /etc/kroki/logback.xml # buildkit
ENV KROKI_CONTAINER_SUPPORT=
ENV KROKI_SAFE_MODE=secure
ENV KROKI_SVGBOB_BIN_PATH=/usr/bin/svgbob
ENV KROKI_ERD_BIN_PATH=/usr/bin/erd
ENV KROKI_DOT_BIN_PATH=/usr/bin/dot
ENV KROKI_NOMNOML_BIN_PATH=/usr/bin/nomnoml
ENV KROKI_VEGA_BIN_PATH=/usr/bin/vega
ENV KROKI_DBML_BIN_PATH=/usr/bin/dbml
ENV KROKI_WAVEDROM_BIN_PATH=/usr/bin/wavedrom
ENV KROKI_BYTEFIELD_BIN_PATH=/usr/bin/bytefield
ENV KROKI_PIKCHR_BIN_PATH=/usr/bin/pikchr
ENV KROKI_D2_BIN_PATH=/usr/bin/d2
ENV KROKI_UMLET_BIN_PATH=/usr/bin/umlet
ENV KROKI_PLANTUML_BIN_PATH=/usr/bin/plantuml
ENV KROKI_TIKZ2SVG_BIN_PATH=/usr/bin/tikz2svg
ENV KROKI_DITAA_BIN_PATH=/usr/bin/ditaa
ENV KROKI_SYMBOLATOR_BIN_PATH=/usr/bin/symbolator
ENV KROKI_WIREVIZ_BIN_PATH=/usr/bin/wireviz
ENV JAVA_OPTS=-Dlogback.configurationFile=/etc/kroki/logback.xml -Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory
COPY --chown=kroki:kroki target/kroki-server.jar /usr/local/kroki/kroki-server.jar # buildkit
RUN |9 BLOCKDIAG_VERSION=3.1.0 D2_VERSION=0.7.0 DITAA_VERSION=1.0.3 DVISVGM_VERSION=3.2.1+ds-1build1 GRAPHVIZ_VERSION=9.0.0 PLANTUML_VERSION=1.2025.2 UMLET_VERSION=2023-03-20_UMLet_v15.1 WIREVIZ_VERSION=0.3.3 TARGETARCH=amd64 /bin/sh -c mkdir /tmp/vertx-cache && chown kroki:kroki /tmp/vertx-cache # buildkit
EXPOSE map[8000/tcp:{}]
USER kroki
ENTRYPOINT ["/bin/sh" "-c" "exec java $JAVA_OPTS -jar /usr/local/kroki/kroki-server.jar"]

Labels

Key Value
org.opencontainers.image.description Kroki provides a unified API supporting multiple diagramming formats, making it easy to create diagrams from textual descriptions.
org.opencontainers.image.licenses MIT
org.opencontainers.image.ref.name ubuntu
org.opencontainers.image.source https://github.com/yuzutech/kroki
org.opencontainers.image.title Kroki
org.opencontainers.image.url https://kroki.io
org.opencontainers.image.version 24.04
Details
Container
2025-10-06 14:17:04 +00:00
4
OCI / Docker
linux/amd64
MIT
1.0 GiB
Versions (1) View all
0.026 2025-10-06