Initial clean commit
This commit is contained in:
41
Dockerfile
Normal file
41
Dockerfile
Normal file
@@ -0,0 +1,41 @@
|
||||
# Stage 1: Build
|
||||
FROM maven:3.9-eclipse-temurin-25-alpine AS builder
|
||||
WORKDIR /app
|
||||
# Copy POM first (allows for cached dependency layer)
|
||||
COPY pom.xml .
|
||||
RUN mvn dependency:resolve -B
|
||||
|
||||
COPY src ./src
|
||||
# Updated with both properties to avoid the warning
|
||||
RUN mvn package -DskipTests -Dquarkus.package.jar.type=uber-jar -Dquarkus.package.jar.enabled=true
|
||||
|
||||
# Stage 2: Runtime (DEBIAN-based for OpenCV native libs)
|
||||
FROM eclipse-temurin:25-jre
|
||||
WORKDIR /app
|
||||
|
||||
# Install dependencies + wget for health checks
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libstdc++6 \
|
||||
libgomp1 \
|
||||
wget \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Create user (Debian syntax)
|
||||
RUN groupadd -r quarkus && useradd -r -g quarkus quarkus
|
||||
# Create user with explicit UID 1000 (Debian syntax)
|
||||
# RUN groupadd -r -g 1000 quarkus && useradd -r -u 1000 -g quarkus quarkus
|
||||
# Create the data directory and set ownership BEFORE switching user
|
||||
# RUN mkdir -p /mnt/okcomputer/output && chown -R quarkus:quarkus /mnt/okcomputer/output
|
||||
|
||||
# Copy the built jar with correct pattern
|
||||
COPY --from=builder --chown=quarkus:quarkus /app/target/auctiora-*.jar app.jar
|
||||
|
||||
USER quarkus
|
||||
EXPOSE 8081
|
||||
|
||||
ENTRYPOINT ["java", \
|
||||
"-Dio.netty.tryReflectionSetAccessible=true", \
|
||||
"--enable-native-access=ALL-UNNAMED", \
|
||||
"--add-opens", "java.base/java.nio=ALL-UNNAMED", \
|
||||
"-jar", "app.jar"]
|
||||
Reference in New Issue
Block a user