FROM eclipse-temurin:25-jdk-alpine WORKDIR /app # Pre-download dependencies (cached layer — rebuilt only if build.gradle changes) COPY gradlew settings.gradle build.gradle ./ COPY gradle ./gradle RUN chmod +x gradlew && ./gradlew dependencies --no-daemon -q # Sources are mounted at runtime via docker-compose volume ENTRYPOINT ["sh", "gradlew", "bootRun", "--no-daemon"]