Files

37 lines
924 B
Docker
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ---- Build Stage ----
FROM maven:3.9-eclipse-temurin-21 AS build
WORKDIR /app
# Dependency-Layer cachen: erst pom.xml auflösen, dann erst den Quellcode kopieren.
COPY pom.xml .
RUN mvn -q dependency:go-offline
COPY src ./src
# Tests laufen im Build mit – ein roter Test stoppt das Image (CI-Teststufe inklusive).
RUN mvn -q package
# ---- Runtime Stage ----
FROM eclipse-temurin:21-jre
# curl für den Container-Healthcheck (siehe docker-compose.yml)
RUN apt-get update \
&& apt-get install -y --no-install-recommends curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Nicht als root laufen; Upload-Verzeichnis für den App-User beschreibbar machen.
RUN useradd --system --home /app --shell /usr/sbin/nologin mindflux \
&& mkdir -p /app/uploads \
&& chown -R mindflux:mindflux /app
COPY --from=build /app/target/*.jar app.jar
USER mindflux
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]