| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=22.04 |
| ADD file:87202021c36509f80e5414aa2307ce867cd2e3b5f0d0f3bd0c98749793bd1fb4 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.18+8 |
| RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='8b418e38cca87945858ae911988401720095eb671357d47437b4adb49c28dcab'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.18%2B8/OpenJDK17U-jre_x64_linux_hotspot_17.0.18_8.tar.gz'; ;; arm64) ESUM='88727c16610d118c0e739f62e6c99dc1cb5a7b4a93a27054fe2a3aa7150e7b5d'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.18%2B8/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.18_8.tar.gz'; ;; armhf) ESUM='437c30e861fb091d4bb2ff66a28b1d09e7ac9167f6163e286cb2968d29864e1b'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.18%2B8/OpenJDK17U-jre_arm_linux_hotspot_17.0.18_8.tar.gz'; ;; ppc64el) ESUM='62a8263401366dea8a41c44a4e5d8b0d22b1f682e9084f124483441fee57044e'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.18%2B8/OpenJDK17U-jre_ppc64le_linux_hotspot_17.0.18_8.tar.gz'; ;; s390x) ESUM='b8801322ff3bf58ba06efde1ef4a23edc728de3d58e7bf6fd1e58815b0e8d6ec'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.18%2B8/OpenJDK17U-jre_s390x_linux_hotspot_17.0.18_8.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"] |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends software-properties-common wget gnupg && add-apt-repository -y ppa:qpdf/qpdf && apt-get update && apt-get install -y --no-install-recommends build-essential make ghostscript pdftk unzip libpst-dev libpst4 pst-utils imagemagick libreoffice libreoffice-writer libreoffice-java-common fonts-dejavu-core fonts-liberation fonts-lmodern perl cpanminus qpdf wkhtmltopdf ocrmypdf tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-spa tesseract-ocr-ita unpaper pngquant && cpanm Archive::Zip && cpanm Image::ExifTool && rm /etc/ImageMagick-6/policy.xml && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends git autotools-dev automake libtool libleptonica-dev pkg-config && git clone https://github.com/agl/jbig2enc /tmp/jbig2enc && cd /tmp/jbig2enc && ./autogen.sh && ./configure && make -j"$(nproc)" && make install && ldconfig && rm -rf /tmp/jbig2enc && apt-get remove -y git autotools-dev automake libtool libleptonica-dev pkg-config && apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV PILLOW_MAX_IMAGE_PIXELS=0 |
| RUN /bin/sh -c wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor > /usr/share/keyrings/google-linux.gpg && echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-linux.gpg] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list && apt-get update && apt-get install -y --no-install-recommends google-chrome-stable && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c useradd -m myuser # buildkit |
| USER myuser |
| WORKDIR /app |
| COPY /app/target/*.jar app.jar # buildkit |
| COPY scripts /app/scripts # buildkit |
| COPY src/main/resources/application_*.properties /app/config/ # buildkit |
| ARG JAVA_XMS |
| ARG JAVA_XMX |
| ARG APP_VARIANT |
| ENV JAVA_XMS=1024m |
| ENV JAVA_XMX=2048m |
| ENV APP_VARIANT=default |
| ENV PILLOW_MAX_IMAGE_PIXELS=0 |
| USER root |
| RUN |3 JAVA_XMS=1024m JAVA_XMX=2048m APP_VARIANT=default /bin/sh -c apt-get update && apt-get install -y --no-install-recommends python3 python3-venv python3-pip libcairo2 libpango-1.0-0 libgdk-pixbuf-2.0-0 poppler-utils && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |3 JAVA_XMS=1024m JAVA_XMX=2048m APP_VARIANT=default /bin/sh -c python3 --version # buildkit |
| RUN |3 JAVA_XMS=1024m JAVA_XMX=2048m APP_VARIANT=default /bin/sh -c python3 -m venv /opt/venv # buildkit |
| ENV PATH=/opt/venv/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN |3 JAVA_XMS=1024m JAVA_XMX=2048m APP_VARIANT=default /bin/sh -c pip install --no-cache-dir extract-msg pandas weasyprint chardet img2pdf # buildkit |
| USER myuser |
| CMD ["sh" "-c" "java -Xms$JAVA_XMS -Xmx$JAVA_XMX -Dspring.config.location=file:/app/config/application_$APP_VARIANT.properties -jar app.jar"] |