FROM alpine:3.22 AS svelte_build RUN apk add bash git npm RUN adduser -Dh /home/svelte svelte ADD . /home/svelte/Umbrella RUN chown -R svelte /home/svelte/Umbrella USER svelte WORKDIR /home/svelte/Umbrella/frontend RUN npm install && npm run build FROM alpine AS java_build RUN apk add bash git gradle fontconfig font-opensans openjdk21-jre ADD . /Umbrella WORKDIR /Umbrella COPY --from=svelte_build /home/svelte/Umbrella/frontend/dist web/src/main/resources/web RUN gradle --no-daemon build FROM alpine RUN apk add bash fontconfig font-opensans graphviz openjdk21-jre weasyprint RUN adduser -D umbrella COPY --from=java_build /Umbrella/backend/build/libs/backend.jar /home/umbrella/jar/ RUN chown -R umbrella /home/umbrella ADD https://github.com/plantuml/plantuml/releases/download/v1.2025.10/plantuml-1.2025.10.jar /home/umbrella/plantuml.jar USER umbrella WORKDIR /home/umbrella RUN mkdir .config && ln -s /host/config.json .config/Umbrella.json EXPOSE 80 CMD java -jar jar/backend.jar