FROM node:20-alpine AS frontend-build WORKDIR /app/frontend COPY src/frontend/package*.json ./ RUN npm ci COPY src/frontend/ ./ RUN npm run build FROM maven:3.9-eclipse-temurin-23 AS backend-build WORKDIR /app COPY pom.xml ./ COPY src ./src # copy frontend COPY --from=frontend-build /app/frontend/dist ./src/main/resources/static RUN mvn clean package -DskipTests FROM eclipse-temurin:23-jre-alpine WORKDIR /app COPY --from=backend-build /app/target/*.jar app.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar", "app.jar"]