# ----------------------------------------------------------------------- #
FROM gradle:9.2.1-jdk AS builder
WORKDIR /
COPY ./api/src/main/ ./api/src/main/
COPY ./api/build.gradle ./api/
COPY ./models/src/main/ ./models/src/main/
COPY ./models/build.gradle ./models/
COPY ./services/src/main/ ./services/src/main/
COPY ./services/build.gradle ./services/
COPY ./build.gradle ./
COPY ./gradle.properties ./
COPY ./settings.gradle ./
COPY ./gradle/libs.versions.toml ./gradle/
RUN gradle build --no-daemon

# ----------------------------------------------------------------------- #
FROM alpine/java:21-jdk AS run

RUN adduser --system appuser
USER appuser

COPY --from=builder --chown=appuser:appuser /api/build/libs/api-0.2.0-SNAPSHOT.jar app.jar

EXPOSE 8400
USER appuser

CMD ["java", "-jar", "app.jar"]

