Joe Küng JoeKung
  • Joined on 2026-01-28

print-calculator-backend (dev)

Published 2026-03-25 19:20:17 +01:00 by JoeKung

Installation

docker pull git.joekung.ch/joekung/print-calculator-backend:dev
sha256:fc1dbc101502a113b23e85ee697626a177fd0d7a7ccd34b13bd93fb8d9fccb58

Image Layers

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-21.0.10+7
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='991be6ac6725e76109ecbd131d658f992dcbeacba3a8b4b6650302c8012b52fb'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.10%2B7/OpenJDK21U-jre_x64_linux_hotspot_21.0.10_7.tar.gz'; ;; arm64) ESUM='3ca84da7c4f57eee8d7e7f0645dc904a3a06456d32b37a4dd57a5e7527245250'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.10%2B7/OpenJDK21U-jre_aarch64_linux_hotspot_21.0.10_7.tar.gz'; ;; ppc64el) ESUM='1a49cffcb348a28c017cf0deeb9322b7296dbfb002a8e43bd7f65ad671e10eb7'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.10%2B7/OpenJDK21U-jre_ppc64le_linux_hotspot_21.0.10_7.tar.gz'; ;; s390x) ESUM='48f8529714c90c6cc61aa729cf8952f2fc47f2f2890551ba7f9e1c061b04be13'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.10%2B7/OpenJDK21U-jre_s390x_linux_hotspot_21.0.10_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 ORCA_VERSION=2.3.1
ARG ORCA_DOWNLOAD_URL
ARG FFMPEG_STATIC_URL=https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
RUN |3 ORCA_VERSION=2.3.1 ORCA_DOWNLOAD_URL= FFMPEG_STATIC_URL=https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ffmpeg wget xz-utils ca-certificates assimp-utils libgl1 libglib2.0-0 libgtk-3-0 libdbus-1-3 libwebkit2gtk-4.0-37; check_ffmpeg_support() { ffmpeg_bin="$1"; "$ffmpeg_bin" -hide_banner -encoders > /tmp/ffmpeg-encoders.txt 2>&1 || return 1; "$ffmpeg_bin" -hide_banner -muxers > /tmp/ffmpeg-muxers.txt 2>&1 || return 1; grep -Eq '[[:space:]]mjpeg[[:space:]]' /tmp/ffmpeg-encoders.txt || return 1; grep -Eq '[[:space:]](libwebp|webp)[[:space:]]' /tmp/ffmpeg-encoders.txt || return 1; grep -Eq '[[:space:]](libaom-av1|librav1e|libsvtav1)[[:space:]]' /tmp/ffmpeg-encoders.txt || return 1; grep -Eq '[[:space:]]avif([[:space:]]|,|$)' /tmp/ffmpeg-muxers.txt || return 1; return 0; }; if check_ffmpeg_support /usr/bin/ffmpeg; then ln -sf /usr/bin/ffmpeg /usr/local/bin/ffmpeg-media; else echo "System ffmpeg lacks AVIF support, installing static fallback from ${FFMPEG_STATIC_URL}"; wget -q "${FFMPEG_STATIC_URL}" -O /tmp/ffmpeg-static.tar.xz; tar -xJf /tmp/ffmpeg-static.tar.xz -C /tmp; FFMPEG_STATIC_BIN="$(find /tmp -maxdepth 2 -type f -name ffmpeg | head -n 1)"; test -n "${FFMPEG_STATIC_BIN}"; install -m 0755 "${FFMPEG_STATIC_BIN}" /usr/local/bin/ffmpeg-media; check_ffmpeg_support /usr/local/bin/ffmpeg-media; fi; rm -f /tmp/ffmpeg-muxers.txt; rm -f /tmp/ffmpeg-encoders.txt; rm -f /tmp/ffmpeg-static.tar.xz; rm -rf /tmp/ffmpeg-*-amd64-static; rm -rf /var/lib/apt/lists/* # buildkit
WORKDIR /opt
RUN |3 ORCA_VERSION=2.3.1 ORCA_DOWNLOAD_URL= FFMPEG_STATIC_URL=https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz /bin/sh -c set -eux; ORCA_URL="${ORCA_DOWNLOAD_URL:-}"; if [ -n "${ORCA_URL}" ]; then wget -q "${ORCA_URL}" -O OrcaSlicer.AppImage; else CANDIDATES="https://github.com/OrcaSlicer/OrcaSlicer/releases/download/v${ORCA_VERSION}/OrcaSlicer_Linux_AppImage_Ubuntu2204_V${ORCA_VERSION}.AppImage https://github.com/SoftFever/OrcaSlicer/releases/download/v${ORCA_VERSION}/OrcaSlicer_Linux_AppImage_Ubuntu2204_V${ORCA_VERSION}.AppImage https://github.com/SoftFever/OrcaSlicer/releases/download/v2.2.0/OrcaSlicer_Linux_V2.2.0.AppImage"; ok=0; for url in $CANDIDATES; do if wget -q --spider "$url"; then echo "Using OrcaSlicer URL: $url"; wget -q "$url" -O OrcaSlicer.AppImage; ok=1; break; fi; done; if [ "$ok" -ne 1 ]; then echo "Failed to find OrcaSlicer AppImage for version ${ORCA_VERSION}" >&2; echo "Tried URLs:" >&2; for url in $CANDIDATES; do echo " - $url" >&2; done; exit 1; fi; fi && chmod +x OrcaSlicer.AppImage && rm -rf /opt/orcaslicer /opt/squashfs-root && ./OrcaSlicer.AppImage --appimage-extract >/dev/null && mv /opt/squashfs-root /opt/orcaslicer && chmod -R +x /opt/orcaslicer && rm OrcaSlicer.AppImage # buildkit
ENV PATH=/opt/orcaslicer/usr/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV SLICER_PATH=/opt/orcaslicer/AppRun
ENV ASSIMP_PATH=assimp
ENV MEDIA_FFMPEG_PATH=/usr/local/bin/ffmpeg-media
WORKDIR /app
COPY /app/build/libs/*.jar app.jar # buildkit
COPY profiles ./profiles # buildkit
EXPOSE map[8080/tcp:{}]
COPY entrypoint.sh . # buildkit
RUN |3 ORCA_VERSION=2.3.1 ORCA_DOWNLOAD_URL= FFMPEG_STATIC_URL=https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz /bin/sh -c chmod +x entrypoint.sh # buildkit
ENTRYPOINT ["./entrypoint.sh"]

Labels

Key Value
org.opencontainers.image.ref.name ubuntu
org.opencontainers.image.version 22.04
Details
Container
2026-03-25 19:20:17 +01:00
119
OCI / Docker
linux/amd64
576 MiB
Versions (3) View all
prod 2026-03-25
dev 2026-03-25
int 2026-02-12