# Build stage - 0
FROM maven:3.9-eclipse-temurin-25-alpine AS build

WORKDIR /app

# Copy Maven files
COPY pom.xml ./

# Download dependencies (cached layer)
RUN mvn dependency:go-offline -B

# Copy source
COPY src/ ./src/

# Build Quarkus application
RUN mvn package -DskipTests -Dquarkus.package.jar.type=uber-jar

# Runtime stage
FROM eclipse-temurin:25-jre-alpine

WORKDIR /app

# Create non-root user
RUN addgroup -g 1001 quarkus && adduser -u 1001 -G quarkus -s /bin/sh -D quarkus

# Copy the uber jar - 5
COPY --from=build --chown=quarkus:quarkus /app/target/*-runner.jar app.jar

USER quarkus

EXPOSE 8081

# Run the Quarkus application
ENTRYPOINT ["java", "-jar", "app.jar"]
