mia-backend (sha256:4a8eb00f29932b3f92d41738eceec6450384347396c45d56a8033c1fa1c05d7e)
Published 2026-03-22 07:23:01 +01:00 by abdallah
Installation
docker pull git.qotra.dev/abdallah/mia-backend@sha256:4a8eb00f29932b3f92d41738eceec6450384347396c45d56a8033c1fa1c05d7esha256:4a8eb00f29932b3f92d41738eceec6450384347396c45d56a8033c1fa1c05d7eImage layers
| ADD alpine-minirootfs-3.23.3-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| 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; apk add --no-cache fontconfig ttf-dejavu gnupg ca-certificates p11-kit-trust musl-locales musl-locales-lang tzdata coreutils openssl ; rm -rf /var/cache/apk/* # buildkit |
| ENV JAVA_VERSION=jdk-21.0.10+7 |
| RUN /bin/sh -c set -eux; ARCH="$(apk --print-arch)"; case "${ARCH}" in aarch64) ESUM='d1cd7b33dcd81293b0b705f4d0e79adce092786be31736a63abe6a4b31841ae5'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.10%2B7/OpenJDK21U-jre_aarch64_alpine-linux_hotspot_21.0.10_7.tar.gz'; ;; x86_64) ESUM='4f6200277644afe6ad49218ae1dd45ab3d0d0b2ac4109163604e36156a93a306'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.10%2B7/OpenJDK21U-jre_x64_alpine-linux_hotspot_21.0.10_7.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget -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; # 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"] |
| WORKDIR /app |
| RUN /bin/sh -c addgroup -S spring && adduser -S spring -G spring # buildkit |
| USER spring:spring |
| ENV DB_URL=jdbc:postgresql://postgres:5432/mydatabase |
| ENV DB_USER=myuser |
| ENV DB_PASS=secret |
| ENV REDIS_HOST=redis |
| ENV REDIS_PORT=6379 |
| ENV MINIO_ENDPOINT=http://minio:9000 |
| ENV MINIO_ACCESS_KEY=minioadmin |
| ENV MINIO_SECRET_KEY=minioadmin |
| ENV MINIO_CDN_URL=http://minio:9000 |
| ENV MAIL_HOST=smtp.gmail.com |
| ENV MAIL_PORT=587 |
| ENV MAIL_USERNAME=your_email@gmail.com |
| ENV MAIL_PASSWORD=your_app_password |
| ENV MAIL_SENDER=your_email@gmail.com |
| ENV SERVER_PORT=8080 |
| ENV SPRING_PROFILES_ACTIVE=dev |
| COPY --chown=spring:spring /app/build/libs/*.jar app.jar # buildkit |
| HEALTHCHECK &{["CMD-SHELL" "wget --no-verbose --tries=1 --spider http://localhost:${SERVER_PORT}/actuator/health || exit 1"] "30s" "3s" "30s" "0s" '\x03'} |
| ENTRYPOINT ["java" "-Djava.security.egd=file:/dev/./urandom" "-jar" "app.jar"] |
| EXPOSE [8080/tcp] |