first commit
This commit is contained in:
41
backend/Dockerfile
Normal file
41
backend/Dockerfile
Normal file
@@ -0,0 +1,41 @@
|
||||
# Stage 1: Build
|
||||
FROM maven:3.9-eclipse-temurin-21 AS builder
|
||||
WORKDIR /build
|
||||
|
||||
# Copy backend module POMs first (better layer caching)
|
||||
COPY backend/pom.xml backend/
|
||||
COPY backend/it-asset-management-client/pom.xml backend/it-asset-management-client/
|
||||
COPY backend/it-asset-management-server/pom.xml backend/it-asset-management-server/
|
||||
|
||||
# Copy libs (your manually installed JARs)
|
||||
COPY backend/libs/ backend/libs/
|
||||
|
||||
# Copy entire backend source
|
||||
COPY backend/ backend/
|
||||
|
||||
# Build backend
|
||||
RUN mvn -f backend/pom.xml clean package -DskipTests
|
||||
|
||||
# Stage 2: Runtime
|
||||
FROM eclipse-temurin:21-jre-alpine AS runner
|
||||
WORKDIR /app
|
||||
|
||||
RUN addgroup --system spring && adduser --system spring -G spring
|
||||
|
||||
COPY --from=builder /build/backend/it-asset-management-server/target/it-asset-management-server-1.0.0.jar app.jar
|
||||
|
||||
# Copy BPMN files
|
||||
#COPY --chown=spring:spring bpmn/ ./bpmn/
|
||||
#COPY --chown=spring:spring ../bpmn/ ./bpmn/
|
||||
COPY --chown=spring:spring bpmn/ /app/bpmn/
|
||||
|
||||
USER spring
|
||||
|
||||
EXPOSE 8070
|
||||
|
||||
ENV SPRING_PROFILES_ACTIVE=server
|
||||
ENV IKON_ACCESSMANAGEMENT_INIT_FILE=/app/bpmn/project.json
|
||||
ENV IKON_PROCESSENGINE_BPMN_PATH=/app/bpmn
|
||||
ENV JAVA_OPTS="-XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0"
|
||||
|
||||
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]
|
||||
Reference in New Issue
Block a user