Mindflux: Sicherheit, Datenintegrität und Navigation härten

This commit is contained in:
AliceDarkest
2026-07-12 21:47:37 +02:00
parent db6b5bbb1a
commit 005d2d7d8c
73 changed files with 2495 additions and 650 deletions
+19 -2
View File
@@ -3,17 +3,34 @@ FROM maven:3.9-eclipse-temurin-21 AS build
WORKDIR /app
COPY . .
# Dependency-Layer cachen: erst pom.xml auflösen, dann erst den Quellcode kopieren.
COPY pom.xml .
RUN mvn -q dependency:go-offline
RUN mvn clean package -DskipTests
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"]