{"architecture":"amd64","config":{"User":"guacamole","ExposedPorts":{"8080/tcp":{}},"Env":["PATH=/usr/local/tomcat/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","JAVA_HOME=/opt/java/openjdk","LANG=en_US.UTF-8","LANGUAGE=en_US:en","LC_ALL=en_US.UTF-8","JAVA_VERSION=jdk-21.0.11+10","CATALINA_HOME=/usr/local/tomcat","TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib","LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib","TOMCAT_MAJOR=9","TOMCAT_VERSION=9.0.118","TOMCAT_SHA512=737367433486757ccd687329d99b1188506cdec57a53a29b415173909c38cdf9da4fc9fd73b8cd17cd0a8def8610ad43bab8e84393dc904a0bd1121da8cab2fc","BAN_ENABLED=true","ENABLE_FILE_ENVIRONMENT_PROPERTIES=true","GUACAMOLE_HOME=/etc/guacamole"],"Cmd":["/opt/guacamole/bin/entrypoint.sh"],"WorkingDir":"/opt/guacamole","Labels":{"org.opencontainers.image.version":"24.04"},"ArgsEscaped":true},"created":"2026-06-14T00:56:34.781921122Z","history":[{"created":"2026-05-20T01:37:19.212521762Z","created_by":"/bin/sh -c #(nop)  ARG RELEASE","empty_layer":true},{"created":"2026-05-20T01:37:19.26097746Z","created_by":"/bin/sh -c #(nop)  ARG LAUNCHPAD_BUILD_ARCH","empty_layer":true},{"created":"2026-05-20T01:37:19.301625688Z","created_by":"/bin/sh -c #(nop)  LABEL org.opencontainers.image.version=24.04","empty_layer":true},{"created":"2026-05-20T01:37:21.679368338Z","created_by":"/bin/sh -c #(nop) ADD file:46ac5b8ee4c64ad9ebe840abd5619f571a617ac19483764d47d0eeba7907934f in / "},{"created":"2026-05-20T01:37:22.119122873Z","created_by":"/bin/sh -c #(nop)  CMD [\"/bin/bash\"]","empty_layer":true},{"created":"2026-06-02T08:14:55.666643628Z","created_by":"ENV JAVA_HOME=/opt/java/openjdk","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T08:14:55.666643628Z","created_by":"ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T08:14:55.666643628Z","created_by":"ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T08:14:55.666643628Z","created_by":"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         binutils         tzdata         locales     ;     echo \"en_US.UTF-8 UTF-8\" \u003e\u003e /etc/locale.gen;     locale-gen en_US.UTF-8;     rm -rf /var/lib/apt/lists/* # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-02T08:14:55.666643628Z","created_by":"ENV JAVA_VERSION=jdk-21.0.11+10","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T08:15:02.72036129Z","created_by":"RUN /bin/sh -c set -eux;     ARCH=\"$(dpkg --print-architecture)\";     case \"${ARCH}\" in        amd64)          ESUM='4b2220e232a97997b436ca6ab15cbf70171ecff52958a46159dfa5a8c44ca4de';          BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_x64_linux_hotspot_21.0.11_10.tar.gz';          ;;        arm64)          ESUM='8d498ec88e1c1989fab95c6784240ab92d011e29c54d20a3f9c324b13476f9ad';          BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.11_10.tar.gz';          ;;        ppc64el)          ESUM='3d043ae96d2343962bf2307d8c55f19849fbfa4c6be9fe164a77d79263f0d989';          BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.11_10.tar.gz';          ;;        riscv64)          ESUM='40c6862e6aff63fe9a03856ba0506531b516a17bdb5018464e9006ea7f0f5fe4';          BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_riscv64_linux_hotspot_21.0.11_10.tar.gz';          ;;        s390x)          ESUM='14dbe3cb226e64b945a36bea32686e8deec746504fe3ccee8de585c54af41ffd';          BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_s390x_linux_hotspot_21.0.11_10.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 ${JAVA_HOME}/lib/src.zip;     find \"$JAVA_HOME/lib\" -name '*.so' -exec dirname '{}' ';' | sort -u \u003e /etc/ld.so.conf.d/docker-openjdk.conf;     ldconfig;     java -Xshare:dump; # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-02T08:15:03.913331754Z","created_by":"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","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-02T08:15:03.931705794Z","created_by":"COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-02T08:15:03.931705794Z","created_by":"ENTRYPOINT [\"/__cacert_entrypoint.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T08:15:03.931705794Z","created_by":"CMD [\"jshell\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:19:06.318105533Z","created_by":"ENV CATALINA_HOME=/usr/local/tomcat","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:19:06.318105533Z","created_by":"ENV PATH=/usr/local/tomcat/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:19:06.318105533Z","created_by":"RUN /bin/sh -c mkdir -p \"$CATALINA_HOME\" # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-02T09:19:06.362980539Z","created_by":"WORKDIR /usr/local/tomcat","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-02T09:19:06.362980539Z","created_by":"ENV TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:19:06.362980539Z","created_by":"ENV LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:19:06.362980539Z","created_by":"ENV TOMCAT_MAJOR=9","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:19:06.362980539Z","created_by":"ENV TOMCAT_VERSION=9.0.118","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:19:06.362980539Z","created_by":"ENV TOMCAT_SHA512=737367433486757ccd687329d99b1188506cdec57a53a29b415173909c38cdf9da4fc9fd73b8cd17cd0a8def8610ad43bab8e84393dc904a0bd1121da8cab2fc","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:20:13.1538102Z","created_by":"RUN /bin/sh -c set -eux; \t\tsavedAptMark=\"$(apt-mark showmanual)\"; \tapt-get update; \tapt-get install -y --no-install-recommends \t\tca-certificates \t\tcurl \t\tgnupg \t; \t\tddist() { \t\tlocal f=\"$1\"; shift; \t\tlocal distFile=\"$1\"; shift; \t\tlocal mvnFile=\"${1:-}\"; \t\tlocal success=; \t\tlocal distUrl=; \t\tfor distUrl in \t\t\t\"https://dlcdn.apache.org/$distFile\" \t\t\t\"https://archive.apache.org/dist/$distFile\" \t\t\t${mvnFile:+\"https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/$mvnFile\"} \t\t; do \t\t\tif curl -fL -o \"$f\" \"$distUrl\" \u0026\u0026 [ -s \"$f\" ]; then \t\t\t\tsuccess=1; \t\t\t\tbreak; \t\t\tfi; \t\tdone; \t\t[ -n \"$success\" ]; \t}; \t\tddist 'tomcat.tar.gz' \"tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz\" \"$TOMCAT_VERSION/tomcat-$TOMCAT_VERSION.tar.gz\"; \techo \"$TOMCAT_SHA512 *tomcat.tar.gz\" | sha512sum --strict --check -; \tddist 'tomcat.tar.gz.asc' \"tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz.asc\" \"$TOMCAT_VERSION/tomcat-$TOMCAT_VERSION.tar.gz.asc\"; \tGNUPGHOME=\"$(mktemp -d)\"; export GNUPGHOME; \tcurl -fL -o upstream-KEYS 'https://www.apache.org/dist/tomcat/tomcat-9/KEYS'; \tgpg --batch --import upstream-KEYS; \tprintf '' \u003e filtered-KEYS; \tfor key in \t\t'DCFD35E0BF8CA7344752DE8B6FB21E8933C60243' \t\t'A9C5DF4D22E99998D9875A5110C01C5A2F6059E7' \t\t'48F8E69F6390C9F25CFEDCD268248959359E722B' \t; do \t\tgpg --batch --fingerprint \"$key\"; \t\tgpg --batch --export --armor \"$key\" \u003e\u003e filtered-KEYS; \tdone; \tgpgconf --kill all; \trm -rf \"$GNUPGHOME\"; \tGNUPGHOME=\"$(mktemp -d)\"; export GNUPGHOME; \tgpg --batch --import filtered-KEYS; \tgpg --batch --verify tomcat.tar.gz.asc tomcat.tar.gz; \ttar -xf tomcat.tar.gz --strip-components=1; \trm bin/*.bat; \trm tomcat.tar.gz*; \tgpgconf --kill all; \trm -rf \"$GNUPGHOME\"; \t\tmv webapps webapps.dist; \tmkdir webapps; \t\tnativeBuildDir=\"$(mktemp -d)\"; \ttar -xf bin/tomcat-native.tar.gz -C \"$nativeBuildDir\" --strip-components=1; \tapt-get install -y --no-install-recommends \t\tdpkg-dev \t\tgcc \t\tlibapr1-dev \t\tlibssl-dev \t\tmake \t; \t( \t\texport CATALINA_HOME=\"$PWD\"; \t\tcd \"$nativeBuildDir/native\"; \t\tgnuArch=\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\"; \t\taprConfig=\"$(command -v apr-1-config)\"; \t\t./configure \t\t\t--build=\"$gnuArch\" \t\t\t--libdir=\"$TOMCAT_NATIVE_LIBDIR\" \t\t\t--prefix=\"$CATALINA_HOME\" \t\t\t--with-apr=\"$aprConfig\" \t\t\t--with-java-home=\"$JAVA_HOME\" \t\t\t--with-ssl \t\t; \t\tnproc=\"$(nproc)\"; \t\tmake -j \"$nproc\"; \t\tmake install; \t); \trm -rf \"$nativeBuildDir\"; \trm bin/tomcat-native.tar.gz; \t\tapt-mark auto '.*' \u003e /dev/null; \t[ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark \u003e /dev/null; \tfind \"$TOMCAT_NATIVE_LIBDIR\" -type f -executable -exec ldd '{}' ';' \t\t| awk '/=\u003e/ { print $(NF-1) }' \t\t| xargs -rt readlink -e \t\t| sort -u \t\t| xargs -rt dpkg-query --search \t\t| cut -d: -f1 \t\t| sort -u \t\t| tee \"$TOMCAT_NATIVE_LIBDIR/.dependencies.txt\" \t\t| xargs -r apt-mark manual \t; \t\tapt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \trm -rf /var/lib/apt/lists/*; \t\tfind ./bin/ -name '*.sh' -exec sed -ri 's|^#!/bin/sh$|#!/usr/bin/env bash|' '{}' +; \t\tchmod -R +rX .; \tchmod 1777 logs temp work; \t\tcatalina.sh version # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-02T09:20:13.761756723Z","created_by":"RUN /bin/sh -c set -eux; \tnativeLines=\"$(catalina.sh configtest 2\u003e\u00261)\"; \tnativeLines=\"$(echo \"$nativeLines\" | grep 'Apache Tomcat Native')\"; \tnativeLines=\"$(echo \"$nativeLines\" | sort -u)\"; \tif ! echo \"$nativeLines\" | grep -E 'INFO: Loaded( APR based)? Apache Tomcat Native library' \u003e\u00262; then \t\techo \u003e\u00262 \"$nativeLines\"; \t\texit 1; \tfi # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-02T09:20:13.761756723Z","created_by":"EXPOSE map[8080/tcp:{}]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:20:13.761756723Z","created_by":"ENTRYPOINT []","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-02T09:20:13.761756723Z","created_by":"CMD [\"catalina.sh\" \"run\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-14T00:52:22.717628708Z","created_by":"RUN /bin/sh -c apt-get update -qq     \u0026\u0026 apt-get install -y xmlstarlet     \u0026\u0026 rm -rf /var/lib/apt/lists/* # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-14T00:52:22.736328107Z","created_by":"WORKDIR /opt/guacamole","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-14T00:56:34.169827681Z","created_by":"COPY /opt/guacamole/ . # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-14T00:56:34.412786926Z","created_by":"ARG UID=1001","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-14T00:56:34.412786926Z","created_by":"ARG GID=1001","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-14T00:56:34.412786926Z","created_by":"RUN |2 UID=1001 GID=1001 /bin/sh -c groupadd --gid $GID guacamole # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-14T00:56:34.781921122Z","created_by":"RUN |2 UID=1001 GID=1001 /bin/sh -c useradd --system --create-home --shell /usr/sbin/nologin --uid $UID --gid $GID guacamole # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-06-14T00:56:34.781921122Z","created_by":"USER guacamole","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-14T00:56:34.781921122Z","created_by":"ENV BAN_ENABLED=true ENABLE_FILE_ENVIRONMENT_PROPERTIES=true GUACAMOLE_HOME=/etc/guacamole","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-14T00:56:34.781921122Z","created_by":"EXPOSE [8080/tcp]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-06-14T00:56:34.781921122Z","created_by":"CMD [\"/opt/guacamole/bin/entrypoint.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:98effb2dfe85d4c431f97d90482075f19e5fc3a57c2dd423d8bdfd4813620043","sha256:fe11cd51f365f6060af77b53b70e93b697354dd0588fb7abacfbd3771ae9f33f","sha256:e4905542a56a4353e36b5b0e8812d775d13cdd81a378ebe7eece35abb5a4e4d8","sha256:fcb611361944dde3d0ed65ba5b6b4c2eddb30057ceb4d6e6060b04657ba445c6","sha256:fb23158c85bea8d26a439a5c1b098c0674d11331a2a7490ecf63afeef673704a","sha256:57afc6a51d2bf0869b7a8164a11fbb43b98b398e4e2fc3f9248c185b6299e62c","sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef","sha256:e9a0adba8baea3bd6cba171c9c00f38c35495a49439699d89c3c19bff0ca4f72","sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef","sha256:b47652503d4c200eca1f33d5e72afabc4b1c9c2bba3c8e3f6ef8137e4c480cae","sha256:04b4d73bc4270bb1edfd9753af61f0a5c732c935576130980de142fe6ee19815","sha256:d58ee9ad33be2e1883283f75bc9468470eb5c2f4a6c3f3b3a14b0a1f8cf71b98","sha256:62a535ce2a9c7053a8cb8ca34b682d00549d4d247c1a7034facb6be243b69d83","sha256:846c1c5ba4da440527b31a9cf9f1be5293f147fed68c2f7fbe821041e04fe21b"]}}