doctoolchain (sha256:3c0803544423bda147cd3b472aca41627c6b2df2b36cf6280209ea9ac839d541)
Published 2025-07-16 14:26:16 +00:00 by eric.foerster in Homebase-Software-Architecture/doctoolchain
Installation
docker pull stackit-solutions.git.onstackit.cloud/homebase-software-architecture/doctoolchain@sha256:3c0803544423bda147cd3b472aca41627c6b2df2b36cf6280209ea9ac839d541sha256:3c0803544423bda147cd3b472aca41627c6b2df2b36cf6280209ea9ac839d541Image Layers
| ADD alpine-minirootfs-3.21.3-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| 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; apk add --no-cache fontconfig ttf-dejavu gnupg ca-certificates p11-kit-trust musl-locales musl-locales-lang binutils tzdata coreutils openssl ; rm -rf /var/cache/apk/* # buildkit |
| ENV JAVA_VERSION=jdk-17.0.14+7 |
| RUN /bin/sh -c set -eux; ARCH="$(apk --print-arch)"; case "${ARCH}" in x86_64) ESUM='259c85e16f7bbfdfb3e0a2ec1c5d6e2063300d413422286583265a9d8a882358'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.14_7.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget -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 ${JAVA_HOME}/lib/src.zip; # buildkit |
| RUN /bin/sh -c set -eux; echo "Verifying install ..."; fileEncoding="$(echo 'System.out.println(System.getProperty("file.encoding"))' | jshell -s -)"; [ "$fileEncoding" = 'UTF-8' ]; rm -rf ~/.java; echo "javac --version"; javac --version; echo "java --version"; java --version; echo "Complete." # buildkit |
| COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit |
| ENTRYPOINT ["/__cacert_entrypoint.sh"] |
| CMD ["jshell"] |
| ENV LC_CTYPE=en_US.UTF-8 |
| RUN /bin/sh -c addgroup -S dtcgroup && adduser -S dtcuser -G dtcgroup # buildkit |
| RUN /bin/sh -c apk update && apk upgrade && apk add --no-cache build-base # buildkit |
| RUN /bin/sh -c echo "add needed tools" && apk add --no-cache curl wget zip unzip git bash --virtual build-dependencies build-base git graphviz python3 ruby-dev py-pygments yaml-dev ttf-dejavu # buildkit |
| RUN /bin/sh -c gem update --system # buildkit |
| RUN /bin/sh -c gem install rdoc --no-document # buildkit |
| RUN /bin/sh -c gem install pygments.rb # buildkit |
| SHELL [/bin/bash -c] |
| USER dtcuser |
| WORKDIR /home/dtcuser |
| ENV HOME=/home/dtcuser |
| ENV GRADLE_USER_HOME=/home/dtcuser/.gradle |
| ARG DTC_VERSION=v3.4.2 |
| RUN |1 DTC_VERSION=v3.4.2 /bin/bash -c curl -LO https://github.com/docToolchain/docToolchain/releases/download/${DTC_VERSION}/docToolchain-${DTC_VERSION#?}.zip && unzip docToolchain-${DTC_VERSION#?}.zip && mv docToolchain-${DTC_VERSION#?} docToolchain && rm docToolchain-${DTC_VERSION#?}.zip && cd docToolchain && cp template_config/Config.groovy . && umask g+w && chmod +x ./gradlew && ./gradlew downloadDependencies && chmod -R o=u $GRADLE_USER_HOME && chmod -R g=u $GRADLE_USER_HOME && rm -r $GRADLE_USER_HOME/daemon && chmod -R o=u $HOME # buildkit |
| ENV PATH=/home/dtcuser/docToolchain/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| USER dtcuser |
| WORKDIR /project |
| VOLUME [/project] |
| ENTRYPOINT ["/bin/bash" "-c" "/bin/bash"] |
| RUN /bin/bash -c curl -fsSL https://d2lang.com/install.sh | sh -s -- # buildkit |
| USER root |
| RUN /bin/bash -c mv /home/dtcuser/.local/bin/d2 /usr/local/bin/d2 # buildkit |
| COPY zscaler.crt /usr/local/share/ca-certificates/zscaler.crt # buildkit |
| RUN /bin/bash -c update-ca-certificates && keytool -importcert -file /usr/local/share/ca-certificates/zscaler.crt -alias /usr/local/share/ca-certificates/zscaler.crt -cacerts -storepass changeit -noprompt # buildkit |
| RUN /bin/bash -c mkdir /usr/local/structurizr && wget https://github.com/structurizr/cli/releases/latest/download/structurizr-cli.zip -O /usr/local/structurizr/structurizr-cli.zip && unzip /usr/local/structurizr/structurizr-cli.zip -d /usr/local/structurizr # buildkit |
| RUN /bin/bash -c apk add --no-cache nodejs npm # buildkit |
| RUN /bin/bash -c npm install -g @softwaretechnik/dbml-renderer # buildkit |
| USER dtcuser |
| ENV DIAGRAM_STRUCTURIZRCLI_HOME=/usr/local/structurizr |