# ===== build stage =====
FROM registry.merlin.xin/library/maven:4.0.0-rc-5-eclipse-temurin-17 AS builder

WORKDIR /app
COPY pom.xml .
RUN --mount=type=cache,target=/root/.m2 mvn -B -q dependency:go-offline

COPY . .
RUN --mount=type=cache,target=/root/.m2 mvn -B -q package -DskipTests


# ===== runtime stage =====
FROM registry.merlin.xin/library/eclipse-temurin:17-jre-alpine

# >>> Install debug tools <<<
#RUN apk update && apk add --no-cache \
#    curl \
#    bind-tools \
#    busybox-extras \
#    iproute2 \
#    tcpdump \
#    net-tools

WORKDIR /app
COPY --from=builder /app/target/*.jar app.jar

RUN addgroup -S spring && adduser -S spring -G spring

RUN mkdir -p /app/uploads/photo \
 && chown -R spring:spring /app/uploads

USER spring

ENTRYPOINT ["java","-jar","/app/app.jar","--spring.config.location=file:/app/application.yml"]
