| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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" ]
|