FROM gradle:8.4.0-jdk17-jammy AS build LABEL authors="pcoletta" WORKDIR /app # Installa OpenSSL se non presente RUN apt-get update && apt-get install -y openssl && rm -rf /var/lib/apt/lists/* # Copy dependency definitions first (for better caching) COPY build.gradle settings.gradle gradle.properties ./ # Download dependencies (cached unless build files change) RUN gradle dependencies --no-daemon || true # Copy source code COPY src/ ./src # Genera le chiavi JWT se non esistono giĆ  RUN mkdir -p src/main/resources && \ if [ ! -f src/main/resources/privateKey.pem ]; then \ openssl genrsa -out src/main/resources/privateKey.pem 2048 && \ openssl rsa -in src/main/resources/privateKey.pem -pubout -out src/main/resources/publicKey.pem; \ fi # Build with more verbose output RUN gradle build --no-daemon --stacktrace --info FROM registry.access.redhat.com/ubi8/openjdk-17:1.20 WORKDIR /app COPY --from=build --chown=185 /app/build/quarkus-app/lib/ /deployments/lib/ COPY --from=build --chown=185 /app/build/quarkus-app/*.jar /deployments/ COPY --from=build --chown=185 /app/build/quarkus-app/app/ /deployments/app/ COPY --from=build --chown=185 /app/build/quarkus-app/quarkus/ /deployments/quarkus/ EXPOSE 8080 USER 185 ENV JAVA_OPTS_APPEND="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager" ENV JAVA_APP_JAR="/deployments/quarkus-run.jar" ENTRYPOINT [ "/opt/jboss/container/java/run/run-java.sh" ]