FROM maven:3.9.9-eclipse-temurin-21 AS build WORKDIR /app COPY pom.xml . RUN mvn -B -DskipTests dependency:go-offline COPY src ./src RUN mvn -B -DskipTests package RUN mvn -B exec:java -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="install chromium" FROM eclipse-temurin:21-jre-jammy AS runtime ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 ENV PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/ms-playwright/chromium-1140/chrome-linux/chrome RUN apt-get update \ && apt-get install -y --no-install-recommends \ ca-certificates \ fonts-liberation \ libasound2 \ libatk-bridge2.0-0 \ libatk1.0-0 \ libcairo2 \ libcups2 \ libdbus-1-3 \ libdrm2 \ libexpat1 \ libgbm1 \ libglib2.0-0 \ libgtk-3-0 \ libnspr4 \ libnss3 \ libpango-1.0-0 \ libx11-6 \ libx11-xcb1 \ libxcb1 \ libxcomposite1 \ libxdamage1 \ libxext6 \ libxfixes3 \ libxrandr2 \ libxshmfence1 \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=build /root/.cache/ms-playwright /ms-playwright COPY --from=build /app/target/leadscraper-0.0.1-SNAPSHOT.jar app.jar EXPOSE 8082 ENTRYPOINT ["java", "-jar", "/app/app.jar"]