# ── Build stage ── FROM eclipse-temurin:21-jdk AS build WORKDIR /app COPY gradlew settings.gradle build.gradle ./ COPY gradle/ gradle/ RUN chmod +x gradlew && ./gradlew dependencies --no-daemon || true COPY src/ src/ RUN ./gradlew bootJar -x test --no-daemon # ── Runtime stage ── FROM eclipse-temurin:21-jre WORKDIR /app COPY --from=build /app/build/libs/*.jar app.jar EXPOSE 8000 ENV JAVA_OPTS="-XX:MaxRAMPercentage=75.0 -XX:+UseG1GC" ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]