Block a user
kroki (0.026)
Installation
docker pull git.baumann.gr/adebaumann/kroki:0.026sha256:2fe11a5ee84b3125ce59d06ea545caf031a0d4127abc14250974054cd4904714About 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 |