Block a user
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:devsha256: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 |