2026-04-03 09:50:38 +02:00
|
|
|
FROM --platform=$BUILDPLATFORM maven:3.9-eclipse-temurin-17 AS backend-build
|
2026-04-03 09:44:49 +02:00
|
|
|
WORKDIR /build
|
|
|
|
|
COPY pom.xml .
|
|
|
|
|
RUN mvn dependency:go-offline -B || true
|
|
|
|
|
COPY src/ src/
|
|
|
|
|
RUN mvn clean package -DskipTests -B
|
|
|
|
|
|
|
|
|
|
FROM --platform=$BUILDPLATFORM node:22-alpine AS ui-build
|
|
|
|
|
WORKDIR /ui
|
|
|
|
|
ARG REGISTRY_TOKEN
|
|
|
|
|
COPY ui/package.json ui/package-lock.json ui/.npmrc ./
|
|
|
|
|
RUN echo "//gitea.siegeln.net/api/packages/cameleer/npm/:_authToken=${REGISTRY_TOKEN}" >> .npmrc && \
|
|
|
|
|
npm ci
|
|
|
|
|
COPY ui/ .
|
|
|
|
|
RUN npm run build
|
|
|
|
|
|
2026-04-03 09:50:38 +02:00
|
|
|
FROM eclipse-temurin:17-jre
|
2026-04-03 09:44:49 +02:00
|
|
|
WORKDIR /app
|
|
|
|
|
COPY --from=backend-build /build/target/cameleer-deploy-demo-*.jar /app/server.jar
|
|
|
|
|
COPY --from=ui-build /ui/dist /app/static
|
|
|
|
|
|
|
|
|
|
EXPOSE 8082
|
|
|
|
|
ENV TZ=UTC
|
|
|
|
|
ENTRYPOINT exec java -Duser.timezone=UTC \
|
|
|
|
|
-Dserver.port=8082 \
|
|
|
|
|
-Dspring.web.resources.static-locations=file:/app/static/ \
|
|
|
|
|
-jar /app/server.jar
|