28 lines
836 B
Docker
28 lines
836 B
Docker
# Build stage
|
|
FROM maven:3.9-eclipse-temurin-11 AS build
|
|
WORKDIR /build
|
|
COPY pom.xml .
|
|
COPY src ./src
|
|
RUN mvn clean package -DskipTests
|
|
|
|
# Runtime stage - using headless JRE to reduce size
|
|
FROM eclipse-temurin:11-jre-jammy
|
|
WORKDIR /app
|
|
|
|
# Install minimal OpenCV runtime libraries (not the full dev package)
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
libopencv-core4.5d \
|
|
libopencv-imgcodecs4.5d \
|
|
libopencv-dnn4.5d && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy the JAR file
|
|
COPY --from=build /build/target/troostwijk-scraper-1.0-SNAPSHOT-jar-with-dependencies.jar app.jar
|
|
|
|
# Set OpenCV library path and notification config
|
|
ENV LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
|
|
ENV NOTIFICATION_CONFIG=desktop
|
|
|
|
ENTRYPOINT ["java", "-Djava.library.path=/usr/lib/x86_64-linux-gnu", "-jar", "/app/app.jar"]
|