| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=20.04 |
| ADD file:20f2ff22b9a8ca9bec5178036c9ebc525a12cd4312daf5d14a9a631a30be20e1 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 |
| /bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl wget ca-certificates fontconfig locales && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen en_US.UTF-8 && rm -rf /var/lib/apt/lists/* |
| ENV JAVA_VERSION=jdk-11.0.18+10 |
| /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='04d5eeff6a6449bcdca0f52cd97bafd43ce09d40ef1e73fa0e1add63bea4a9c8'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.18_10.tar.gz'; ;; armhf|arm) ESUM='b42840ef88621f87a4b49ae3a8db23dbf07cd9e7fb62823318709a592f597ea3'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.18_10.tar.gz'; ;; ppc64el|powerpc:common64) ESUM='459148d489b08ceec2d901e950ac36722b4c55e907e979291ddfc954ebdcea47'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.18_10.tar.gz'; ;; s390x|s390:64-bit) ESUM='7a7193c8279dd889c0a39296bcbae8866d94cff7a6d1bdfe676ffe4ced018915'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.18_10.tar.gz'; ;; amd64|i386:x86-64) ESUM='4a29efda1d702b8ff38e554cf932051f40ec70006caed5c4857a8cbc7a0b7db7'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.18_10.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; 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}/src.zip; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; |
| /bin/sh -c 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. |
| CMD ["jshell"] |
| ENV CATALINA_HOME=/usr/local/tomcat |
| ENV PATH=/usr/local/tomcat/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| /bin/sh -c mkdir -p "$CATALINA_HOME" |
| WORKDIR /usr/local/tomcat |
| ENV TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib |
| ENV LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib |
| ENV GPG_KEYS=48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 |
| ENV TOMCAT_MAJOR=9 |
| ENV TOMCAT_VERSION=9.0.73 |
| ENV TOMCAT_SHA512=d43fbd6c5ae00bc0ffc2559743f91abd3547c827426cb0acdc8428e060e8659b6bb41b3877deb061ab6202980de39b9558525a4256725b647d5bff93e47a5664 |
| /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl dirmngr gnupg ; ddist() { local f="$1"; shift; local distFile="$1"; shift; local mvnFile="${1:-}"; local success=; local distUrl=; for distUrl in "https://www.apache.org/dyn/closer.cgi?action=download&filename=$distFile" "https://downloads.apache.org/$distFile" "https://www-us.apache.org/dist/$distFile" "https://www.apache.org/dist/$distFile" "https://archive.apache.org/dist/$distFile" ${mvnFile:+"https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/$mvnFile"} ; do if curl -fL -o "$f" "$distUrl" && [ -s "$f" ]; then success=1; break; fi; done; [ -n "$success" ]; }; ddist 'tomcat.tar.gz' "tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz" "$TOMCAT_VERSION/tomcat-$TOMCAT_VERSION.tar.gz"; echo "$TOMCAT_SHA512 *tomcat.tar.gz" | sha512sum --strict --check -; ddist '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"; export GNUPGHOME="$(mktemp -d)"; for key in $GPG_KEYS; do gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; done; gpg --batch --verify tomcat.tar.gz.asc tomcat.tar.gz; tar -xf tomcat.tar.gz --strip-components=1; rm bin/*.bat; rm tomcat.tar.gz*; command -v gpgconf && gpgconf --kill all || :; rm -rf "$GNUPGHOME"; mv webapps webapps.dist; mkdir webapps; nativeBuildDir="$(mktemp -d)"; tar -xf bin/tomcat-native.tar.gz -C "$nativeBuildDir" --strip-components=1; apt-get install -y --no-install-recommends dpkg-dev gcc libapr1-dev libssl-dev make ; ( export CATALINA_HOME="$PWD"; cd "$nativeBuildDir/native"; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; aprConfig="$(command -v apr-1-config)"; ./configure --build="$gnuArch" --libdir="$TOMCAT_NATIVE_LIBDIR" --prefix="$CATALINA_HOME" --with-apr="$aprConfig" --with-java-home="$JAVA_HOME" --with-ssl ; nproc="$(nproc)"; make -j "$nproc"; make install; ); rm -rf "$nativeBuildDir"; rm bin/tomcat-native.tar.gz; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; find "$TOMCAT_NATIVE_LIBDIR" -type f -executable -exec ldd '{}' ';' | awk '/=>/ { print $(NF-1) }' | xargs -rt readlink -e | sort -u | xargs -rt dpkg-query --search | cut -d: -f1 | sort -u | tee "$TOMCAT_NATIVE_LIBDIR/.dependencies.txt" | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; find ./bin/ -name '*.sh' -exec sed -ri 's|^#!/bin/sh$|#!/usr/bin/env bash|' '{}' +; chmod -R +rX .; chmod 1777 logs temp work; catalina.sh version |
| /bin/sh -c set -eux; nativeLines="$(catalina.sh configtest 2>&1)"; nativeLines="$(echo "$nativeLines" | grep 'Apache Tomcat Native')"; nativeLines="$(echo "$nativeLines" | sort -u)"; if ! echo "$nativeLines" | grep -E 'INFO: Loaded( APR based)? Apache Tomcat Native library' >&2; then echo >&2 "$nativeLines"; exit 1; fi |
| EXPOSE 8080 |
| CMD ["catalina.sh" "run"] |
| LABEL maintainer=Tim Sutton<tim@linfiniti.com> |
| ARG GS_VERSION=2.23.0 |
| ARG WAR_URL=https://downloads.sourceforge.net/project/geoserver/GeoServer/2.23.0/geoserver-2.23.0-war.zip |
| ARG STABLE_PLUGIN_BASE_URL=https://sourceforge.net/projects/geoserver/files/GeoServer |
| ARG DOWNLOAD_ALL_STABLE_EXTENSIONS=1 |
| ARG DOWNLOAD_ALL_COMMUNITY_EXTENSIONS=1 |
| ARG HTTPS_PORT=8443 |
| ENV DEBIAN_FRONTEND=noninteractive |
| RUN |6 GS_VERSION=2.23.0 WAR_URL=http://downloads.sourceforge.net/project/geoserver/GeoServer/2.23.0/geoserver-2.23.0-war.zip STABLE_PLUGIN_BASE_URL=https://sourceforge.net/projects/geoserver/files/GeoServer DOWNLOAD_ALL_STABLE_EXTENSIONS=1 DOWNLOAD_ALL_COMMUNITY_EXTENSIONS=1 HTTPS_PORT=8443 /bin/sh -c set -eux; apt-get update; apt-get -y --no-install-recommends install locales gnupg2 wget ca-certificates rpl pwgen software-properties-common iputils-ping apt-transport-https curl gettext fonts-cantarell lmodern ttf-aenigma ttf-bitstream-vera ttf-sjfonts tv-fonts libapr1-dev libssl-dev wget zip unzip curl xsltproc certbot cabextract gettext postgresql-client figlet gosu gdal-bin libgdal-java; dpkg-divert --local --rename --add /sbin/initctl && (echo "Yes, do as I say!" | apt-get remove --force-yes login) && apt-get clean && rm -rf /var/lib/apt/lists/*; gosu nobody true # buildkit |
| ENV JAVA_HOME=/opt/java/openjdk DEBIAN_FRONTEND=noninteractive GEOSERVER_DATA_DIR=/opt/geoserver/data_dir GDAL_DATA=/usr/share/gdal LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib:/usr/local/tomcat/native-jni-lib:/usr/lib/jni:/usr/local/apr/lib:/opt/libjpeg-turbo/lib64:/usr/lib:/usr/lib/x86_64-linux-gnu FOOTPRINTS_DATA_DIR=/opt/footprints_dir GEOWEBCACHE_CACHE_DIR=/opt/geoserver/data_dir/gwc CERT_DIR=/etc/certs RANDFILE=/etc/certs/.rnd FONTS_DIR=/opt/fonts GEOSERVER_HOME=/geoserver EXTRA_CONFIG_DIR=/settings COMMUNITY_PLUGINS_DIR=/community_plugins STABLE_PLUGINS_DIR=/stable_plugins |
| WORKDIR /scripts |
| ADD resources /tmp/resources # buildkit |
| ADD build_data /build_data # buildkit |
| ADD scripts /scripts # buildkit |
| RUN |6 GS_VERSION=2.23.0 WAR_URL=http://downloads.sourceforge.net/project/geoserver/GeoServer/2.23.0/geoserver-2.23.0-war.zip STABLE_PLUGIN_BASE_URL=https://sourceforge.net/projects/geoserver/files/GeoServer DOWNLOAD_ALL_STABLE_EXTENSIONS=1 DOWNLOAD_ALL_COMMUNITY_EXTENSIONS=1 HTTPS_PORT=8443 /bin/sh -c echo $GS_VERSION > /scripts/geoserver_version.txt && echo $STABLE_PLUGIN_BASE_URL > /scripts/geoserver_gs_url.txt ; chmod +x /scripts/*.sh;/scripts/setup.sh && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # buildkit |
| EXPOSE map[8443/tcp:{}] |
| RUN |6 GS_VERSION=2.23.0 WAR_URL=http://downloads.sourceforge.net/project/geoserver/GeoServer/2.23.0/geoserver-2.23.0-war.zip STABLE_PLUGIN_BASE_URL=https://sourceforge.net/projects/geoserver/files/GeoServer DOWNLOAD_ALL_STABLE_EXTENSIONS=1 DOWNLOAD_ALL_COMMUNITY_EXTENSIONS=1 HTTPS_PORT=8443 /bin/sh -c echo 'figlet -t "Kartoza Docker GeoServer"' >> ~/.bashrc # buildkit |
| WORKDIR /geoserver |
| ENTRYPOINT ["/bin/bash" "/scripts/entrypoint.sh"] |