# Stage 1: Build stage
FROM gradle:jdk17-jammy AS builder
ENV APP_HOME=/app
WORKDIR $APP_HOME
COPY . .
RUN ls -la
RUN gradle build
RUN ls $APP_HOME/build/libs

# Stage 2: Package stage
FROM openjdk:23-ea-17-slim
ENV ARTIFACT_NAME=vmanager-0.0.1-SNAPSHOT.jar
ENV APP_HOME=/app
ENV DATA=src/main/kotlin/ch/ost/vmanager/data
WORKDIR $APP_HOME
RUN useradd -m nonroot
COPY --from=builder $APP_HOME/build/libs/$ARTIFACT_NAME .
COPY --from=builder $APP_HOME/$DATA/gamestate.yaml .
COPY --from=builder $APP_HOME/$DATA/default.yaml .
RUN chown -R nonroot:nonroot $APP_HOME
USER nonroot
EXPOSE 8080
ENTRYPOINT exec java -jar $ARTIFACT_NAME