Build container has JDK 17, not 21. Also replaced Thread.ofVirtual() (Java 21) with standard Thread. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
829 B
Docker
28 lines
829 B
Docker
FROM --platform=$BUILDPLATFORM maven:3.9-eclipse-temurin-17 AS backend-build
|
|
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
|
|
|
|
FROM eclipse-temurin:17-jre
|
|
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
|