29 lines
807 B
Docker
29 lines
807 B
Docker
# ----------------------------------------------------------------------- #
|
|
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"]
|
|
|