Dockerfile
Home
/
Dockerfile
ARG OWL2VOWL_VERSION=0.3.7
ARG MAVEN_IMAGE=3.9.16-eclipse-temurin-8-noble
ARG JRE_IMAGE=8-jre-noble
FROM maven:${MAVEN_IMAGE} AS build
WORKDIR /var/lib/owl2vowl
COPY pom.xml .
RUN mvn -B dependency:go-offline -P war-release
COPY src src
RUN mvn -B package -P war-release -DskipTests
FROM eclipse-temurin:${JRE_IMAGE}
ARG OWL2VOWL_VERSION=0.3.7
LABEL org.opencontainers.image.title="OWL2VOWL" \
org.opencontainers.image.description="OWL to VOWL JSON converter (Spring Boot WAR)" \
org.opencontainers.image.version="${OWL2VOWL_VERSION}"
RUN apt-get update \
&& apt-get install -y --no-install-recommends curl \
&& rm -rf /var/lib/apt/lists/* \
&& groupadd -r owl2vowl --gid=10001 \
&& useradd -r -g owl2vowl --uid=10001 --home-dir=/owl2vowl owl2vowl \
&& mkdir -p /owl2vowl \
&& chown -R owl2vowl:owl2vowl /owl2vowl
WORKDIR /owl2vowl
COPY --from=build --chown=owl2vowl:owl2vowl /var/lib/owl2vowl/target/owl2vowl.war .
USER owl2vowl
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=5s --start-period=90s --retries=3 \
CMD curl -f http://127.0.0.1:8080/serverTimeStamp || exit 1
CMD ["java", "-jar", "owl2vowl.war"]