FROM eclipse-temurin:21-jdk

WORKDIR /app

EXPOSE 8080

# Source code and mvnw are mounted via docker-compose volume at runtime.
# Maven dependencies are cached in a named volume (~/.m2).
CMD ["./mvnw", "spring-boot:run"]
